我目前正在使用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服务客户端,输入此类的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控制台应用程序中测试了我的代码行,它完美地工作(连接到数据库,选择,然后打印结果)。结果应该是“成功”。但是当我通过网络服务调用它时,我总是“失败”......
如果有帮助,我在本教程中引用了很多内容。 http://nandokakimoto.wordpress.com/2009/03/15/creating-a-j2me-web-service-client/
有没有人知道我可能搞砸了哪里? :(
答案 0 :(得分:1)
没关系......我忘了将我的驱动程序包含在我的网络应用程序中。我很糟糕,我知道。