私は、Web サービスとしてWCF (.Net Framework 4)を使用し、クライアント(Android 2.2 (API 8))として Android アプリケーションを使用しているプロジェクトに取り組んでいます。WCF プロジェクトを作成し、IIS サーバーに公開しました。次に、次の構造を使用して「wsimport」(Java JDK によって提供されるもの) コマンドを使用しました。
wsimport -p testWCF -keep -verbose -d "d:\webservice\java" http://192.168.2.103/MyWebService.svc?wsdl
jar ファイルを Androids プロジェクトの「libs」フォルダーに貼り付けてインポートし、「Add External jar..」ボタンをクリックして jar ファイルをビルド パスに追加しました。次に、以下に示すように、「注文とエクスポート」タブでjarファイルを確認しました。
Eclipse から次のメッセージが表示されます。
The type javax.xml.bind.annotation.XmlNsForm cannot be resolved. It is indirectly referenced from required .class files
ただし、Eclipse は引き続き Android プロジェクトをデバイスで実行しますが、Log Cat から次のエラーが発生します。
- クラスが見つかりませんでした
- NoClassDefFoundError
jar ファイルを通常の Java プロジェクトにインポートすると、次のコードを使用して Web サービスに正常にアクセスできましたが、Android プロジェクトではアクセスできませんでした。
MyWebService service = new MyWebService();
IMyWebService client = service.getBasicHttpBindingIMyWebService();
System.out.println(client.getMessage());
上記のエラーを検索したところ、多くの解決策で「ビルド パス」に参照が欠落していることが示唆されましたが、これらの解決策は私の Android プロジェクトでは機能しませんでした....何が間違っていますか? 私は何が欠けていますか?
ありがとう