我目前正在使用 NetBeans IDE,所以我想托管一个 WebService 并通过 J2ME 使用它。一切顺利(从编写 Web 服务类、部署 Web 服务器、获取 WSDL 的 URL、创建 Java ME Web 服务客户端,最后调用方法)。
目前,我的 WebMethodlogin()
如下所示:
@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/
有没有人知道我可能在哪里搞砸了?:(