JAX-WS を使用した暗黙の SOAP ヘッダーの受信
既存の Java™ API for XML-Based Web Services (JAX-WS) Web サービス・クライアントで暗黙の SOAP ヘッダーから値を受信できます。暗黙の SOAP ヘッダーを受信するためにクライアント・コードを変更すると、着信 Web サービス応答内の固有の情報を受信できます。
始める前に
このタスクを完了するには、暗黙の SOAP ヘッダーを受信するために使用可能にできる Web サービス・クライアントが必要となります。
暗黙の SOAP ヘッダー は、以下の説明の 1 つに適合する SOAP ヘッダーです。
- Web Services Description Language (WSDL) ファイルのバインディング内の SOAP ヘッダーとして宣言されているメッセージ・パーツ。ただし、メッセージ定義は WSDL ファイル内の portType エレメントによって参照されていない。
- WSDL ファイルに含まれていないエレメント。
ハンドラーおよびサービス・エンドポイントは、SOAP with Attachments API for Java (SAAJ) データ・モデルを使用して、暗黙的または明示的な SOAP ヘッダーを取り扱うことができます。
JAX-WS を使用する場合、操作できるヘッダーのタイプに制限はありません。
このタスクについて
クライアント・アプリケーションは、プロパティーを Dispatch または Proxy オブジェクトに設定して、暗黙の SOAP ヘッダーを送受信します。
手順
- Dispatch または Proxy オブジェクトを使用してリモート・メソッド呼び出しを発行します。
- プロパティー名 com.ibm.wsspi.websvcs.Constants.JAXWS_INBOUND_SOAP_HEADERS を使用して、 Map<QName, List<String>> を Dispatch または Proxy オブジェクトの ResponseContext から取得します。
- Map<QName, List<String>> 値から、SOAP ヘッダーの QName を使用して List<String> を取得します。 値 List<String> が存在する場合は、 対応する QName の SOAP ヘッダーの XML テキストが含まれているゼロ以上のストリング・オブジェクトがその値に含まれています。
タスクの結果
JAX-WS Web サービス・クライアントで、暗黙の SOAP ヘッダーから値を受信できるようになりました。