現在NetBeansIDEを使用しているので、Webサービスをホストして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コンソールアプリケーションでコード行をテストしましたが、完全に機能しました(データベースへの接続、選択、結果の出力)。結果は「成功」になるはずです。しかし、Webサービスを介して呼び出すと、常に「失敗」します...
それが役に立ったら、私はこのチュートリアルから多くを参照しました。http://nandokakimoto.wordpress.com/2009/03/15/creating-a-j2me-web-service-client/
誰かが私がどこで失敗した可能性があるかについて何か手がかりを持っていますか?:(