私はJavaアプリケーションからSOAP Webサービスを呼び出す必要があるプロジェクトがあります。私はこれを行うためにどのツールセットを見なければならないのだろうか?すべてのアドバイスを感謝します。Webサービス用のJavaクライアントを作成する最善の方法は何ですか?
私はjax-wsとAxis2を見ましたが、これらは主に消費者ではなくWebサービスの作成者のために表示され、消費したいだけです。
ありがとうございます!
私はJavaアプリケーションからSOAP Webサービスを呼び出す必要があるプロジェクトがあります。私はこれを行うためにどのツールセットを見なければならないのだろうか?すべてのアドバイスを感謝します。Webサービス用のJavaクライアントを作成する最善の方法は何ですか?
私はjax-wsとAxis2を見ましたが、これらは主に消費者ではなくWebサービスの作成者のために表示され、消費したいだけです。
ありがとうございます!
まずはwsdlが必要です。一部のサービスプロバイダはJavaクライアントクラスを配布するかもしれませんが、WSDLは最も安全なアプローチです。
のapache-cxfまたはanalogousの場合はapache-axisのツールを実行してください。 Javaクラスをたくさん作成します(クライアントのみ必要です)。これらのツールはサーバーサイドのコードを生成することもできるため、サービス開発者を目指すという印象を与えます。
これだけです。クライアントクラスはXMLマーシャリング/アンマーシャリングとHTTP接続を処理します。 WSエンドポイントインターフェイスを実装する適切なスタブを使用してください。
WebServiceTemplate
からspring-wsまでのポートフォリオを使用することもできます。
Jax-WSには、SOAPサービスの.wsdlに対して実行するwsimport
というツールが付属しています。クライアントがサービスとやりとりするために使用できる一連のクラスを生成します。その後、それは単純なJavaコーディングです。
高速機能クライアントを使用する場合は、JAX-WSツールを使用してWebサービスを使用する必要のあるコードを生成できます。しかし、このアプローチは、(Websphereツールのような)移植性のないコードを生成することがありますが、生産性向上の価値があるかもしれません。
Spring Frameworkでは、Webサービスを構築して使用するツールも提供していますが、クライアントの開発には多少の努力が必要であり、JAXBやCastorなどの技術を使用して入出力メッセージを手動でマッピングする必要があります。 Springを使ってXMLを直接読むこともできますが、これはコンテナ間の移植性を保証する柔軟なフレームワークですが、余分な労力と時間を必要とします。
すべてのアプローチには長所と短所があります。決定するのはあなた次第です。
Eclipseを使用している場合は、このソリューションを表示することもできます。
What is the easiest way to generate a Java client from an RPC encoded WSDL
を