Hitachi

Cosminexus V11 アプリケーションサーバ Webサービス開発ガイド


1.5.2 クライアントの形態

Application Serverでは,SOAP Webサービスを呼び出すクライアントとして,次に示す形態をサポートしています。

それぞれの形態について説明します。

なお,Webリソースクライアントは,RESTful Webサービス用クライアントAPIか,またはjava.net.URLやjava.net.HttpURLConnectionなどの標準的なJava APIを利用して実装してください。

〈この項の構成〉

(1) スタブベースのWebサービスクライアント

スタブベースのWebサービスクライアントを使用する場合の形態を次に示します。

図1‒8 Webサービスクライアント(スタブベース)

[図データ]

スタブベースのWebサービスクライアントを使用すると,WSDLのオペレーションに対応するJavaメソッドを呼び出すだけで,Webサービスを呼び出せます。複雑な変換は自動生成されるスタブが実施するため,Webサービスクライアント開発時に,APIを利用してSOAPメッセージを構成するXMLを組み立てるような,複雑なプログラミングをする必要はありません。ただし,WSDLに定義されていないSOAPメッセージを送受信することはできないので注意してください。また,スタブおよびWSDLは必須です。WSDLは,対象のWebサービスから入手する必要があります。

(2) ディスパッチベースのWebサービスクライアント

ディスパッチベースのWebサービスクライアントを使用する場合の形態を次に示します。

図1‒9 Webサービスクライアント(ディスパッチベース)

[図データ]

ディスパッチベースのWebサービスクライアントを使用する場合は,スタブもWSDLも必要ないため,任意のSOAPメッセージを動的に送受信したいときに適しています。ディスパッチベースのWebサービスクライアントは,生成したオブジェクトをjavax.xml.ws.Dispatchインタフェース経由でJAX-WSエンジンに受け渡すため,Webサービスクライアント開発時に,APIを利用してSOAPメッセージを構成するXMLから値を直接取得したり,APIを利用してSOAPメッセージを構成するXMLを組み立てたりする必要があります。

注意事項

ディスパッチベースのWebサービスクライアントでは,javax.xml.ws.Dispatchインタフェースの代わりにjavax.xml.soap.SOAPConnectionクラスを使用してSOAPメッセージを送受信することもできます。ただし,javax.xml.soap.SOAPConnectionクラスを使用した場合,動作定義ファイルおよびメッセージコンテキストの設定は無効になり,ログも出力されないため,注意してください。

また,このマニュアルでは,javax.xml.soap.SOAPConnectionクラスを使用する場合の動作については説明しません。ほかのSAAJ 1.3仕様のAPIと同様に,JDKのドキュメントを参照してください。なお,特に問題のないかぎり,javax.xml.soap.SOAPConnectionクラスではなくjavax.xml.ws.Dispatchインタフェースを使用してください。