Application Serverでは,SOAP Webサービスを呼び出すクライアントとして,次に示す形態をサポートしています。
それぞれの形態について説明します。
なお,Webリソースクライアントは,RESTful Webサービス用クライアントAPIか,またはjava.net.URLやjava.net.HttpURLConnectionなどの標準的なJava APIを利用して実装してください。
スタブベースのWebサービスクライアントを使用する場合の形態を次に示します。
図1-8 Webサービスクライアント(スタブベース)
スタブベースのWebサービスクライアントを使用すると,WSDLのオペレーションに対応するJavaメソッドを呼び出すだけで,Webサービスを呼び出せます。複雑な変換は自動生成されるスタブが実施するため,Webサービスクライアント開発時に,APIを利用してSOAPメッセージを構成するXMLを組み立てるような,複雑なプログラミングをする必要はありません。ただし,WSDLに定義されていないSOAPメッセージを送受信することはできないので注意してください。また,スタブおよびWSDLは必須です。WSDLは,対象のWebサービスから入手する必要があります。
ディスパッチベースのWebサービスクライアントを使用する場合の形態を次に示します。
図1-9 Webサービスクライアント(ディスパッチベース)
ディスパッチベースのWebサービスクライアントを使用する場合は,スタブもWSDLも必要ないため,任意のSOAPメッセージを動的に送受信したいときに適しています。ディスパッチベースのWebサービスクライアントは,生成したオブジェクトをjavax.xml.ws.Dispatchインタフェース経由でJAX-WSエンジンに受け渡すため,Webサービスクライアント開発時に,APIを利用してSOAPメッセージを構成するXMLから値を直接取得したり,APIを利用してSOAPメッセージを構成するXMLを組み立てたりする必要があります。