Application ServerのJAX-WS機能がサポートしているJAX-WS APIを利用して,Webサービスクライアントを実装できます。JAX-WS APIのサポート範囲については,「19.2 APIのサポート範囲」を参照してください。
JAX-WS APIを使用したWebサービスクライアントの実装例を示します。
package com.example.sample.client; |
javax.xml.ws.Serviceオブジェクトの生成には処理コストが掛かるので,一度生成したjavax.xml.ws.Serviceオブジェクトは再利用することをお勧めします。ポートを取得するためにjavax.xml.ws.Serviceオブジェクトを複数回生成する必要はありません。
同様に,ポートの取得にも処理コストが掛かるので,一度取得したポートは再利用することをお勧めします。ポートのWebメソッドを複数回呼び出すためにポートを複数回取得する必要はありません。ただし,複数スレッドでポートを共有する場合,共有するポートの要求コンテキストのプロパティに対する変更は,複数スレッドが動作する前に実行してください。複数スレッドの動作中に変更すると,通信が失敗したり,不正なSOAPメッセージが送信されたりすることがあります。
WebサービスクライアントをサーブレットやEJBなどで実装する場合は,それぞれの初期化メソッドでjavax.xml.ws.Serviceオブジェクトの生成,またはポートの取得を実施し,再利用してください。ポートの要求コンテキストのプロパティに対する変更も,それぞれの初期化メソッドで実行してください。