1

Java クライアントから使用している wsHttpBinding を使用する WCF Web サービスがあります。wsimport を使用して WSDL からコードを生成しました。Java クライアントはサービスを正常に作成しているように見えますが、サービスでメソッドを呼び出すと、クライアントがスピンするだけです。

MyService s = new MyService();
IMyService i = s.getWSHttpBindingIMyService();
returnedValue = i.getSomething(2); // method call

Java クライアントは、wsHttpBinding を使用している WCF Web サービスと通信できますか? そして、そうする最善の方法は何ですか?
どんな助けでも大歓迎です。

4

2 に答える 2

5

間違いなくWSITを使用してクライアントを作成することをお勧めします。おそらく、Metroスタック全体を使用するのが最も簡単です。Metroのjarには、jaxws-ri、WSIT、およびJABが含まれています(webservices-rt.jarおよびwebservices-api.jar)。

始めるためのいくつかのステップ:

  1. WCFサービスの公開されたWSDLにWS-Policyセクションが含まれていますか?そうでない場合は、その情報を取得して、サービスのWSDLファイルのローカルローカルコピーに配置します。WS-Policyセクションを含むWSDLでwsimportを再実行します。

  2. クライアントのクラスパスにメトロjarを含めます。

  3. wsit-client.xmlファイルという名前のファイルを作成し、それをWEB-INF / classes(またはクラスパス)に配置します。これがサンプルです。これで、クライアントを使用すると、コンソールに次のようなINFOメッセージが表示されます。WSP5018:ファイルからWSIT構成をロードしました。

  4. WS-Policyまたはwsit-client.xmlで行き詰まった場合は、Netbeansを使用してください。私は開発にEclipseを使用していますが、Netbeansはあまり好きではありませんが、Webサービスを保護してWebサービスを作成できるIDEの構成設定があるため、何度も参照として使用しています。セキュリティが必要なクライアント。WS-Policy情報を含むwsit-client.xmlとWSDLが生成されます。NetbeansでWebアプリケーションを作成し、サービスのWSDLをポイントして、そこでWebサービスクライアントを生成し、結果のファイルがどのようになるかを確認してみてください。

  5. SOでいくつかの質問に答えることができますが、java.net Metroフォーラムもかなり活発であり、そこでも優れたサポートを受けることができます。「Netbeans/GlassfishでXYZを実行する」などの回答に備えてください。

于 2010-05-04T19:23:37.060 に答える
0

おそらくこれが役立つでしょう:WCFサービスとJavaクライアント

于 2010-05-04T18:45:21.993 に答える