我当前正在使用NetBeans IDE,因此我想托管一个WebService并通过J2ME使用它。一切顺利(从编写Web服务类,部署Web服务器,获取WSDL的URL,创建Java ME Web服务客户端,然后最终调用方法)。
当前,我的WebMethod login()
看起来像这样:
@WebMethod(operationName = "login")
public boolean login(@WebParam(name = "username") String username, @WebParam(name = "password") String password) {
boolean result = false;
System.out.println(username + password);
try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url + dbName, dbUsername, dbPassword);
Statement st = conn.createStatement();
ResultSet res = st.executeQuery("SELECT COUNT(*) FROM Account WHERE Username = "
+ "'" + username + "' AND Password = '" + password + "'");
res.next();
int i = res.getInt(1);
if (i == 1) {
result = true;
}
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
因此,我转到J2ME应用程序,创建Java ME Web Service客户端,输入此类的WSDL,然后编写以下代码行来调用Web服务:
FirefighterService service = new FirefighterSerivce_Stub();
try {
if (service.login("admin", "admin"); {
System.out.println("success"); }
else {
System.out.println("failure"); }
} catch (Exception e) {
e.printStackTrace();
}
它应该工作。我已经在Java控制台应用程序中测试了我的代码行,并且该代码行之有效(连接到数据库,选择并打印结果)。结果应该是“成功”。但是,当我通过Web服务调用它时,总是会收到“失败”的信息...
如果有帮助,我从本教程中引用了很多内容。 http://nandokakimoto.wordpress.com/2009/03/15/creating-a-j2me-web-service-client/
有人对我可能搞砸的地方有任何线索吗? :(
最佳答案
很好...我忘了将驱动程序包含到我的Web应用程序中。我很烂,我知道。