JAX-RPC を使用した暗黙の SOAP ヘッダーの受信

既存の Java™ API for XML-based RPC (JAX-RPC) 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 ヘッダーを取り扱うことができます。

protected の SOAP ヘッダーを取り扱うことはできません。 その所有コンポーネント (例えば、Web Services Security) によって protected に宣言されている SOAP ヘッダーは、クライアント・アプリケーションからはアクセスできません。 protected の SOAP ヘッダーを操作しようとすると、例外が発生します。

このタスクについて

クライアント・アプリケーションは、プロパティーを Stub または Call オブジェクトに設定して、暗黙の SOAP ヘッダーを送受信します。

手順

  1. オブジェクト java.util.HashMap を作成します。
  2. クライアントが受信する暗黙の SOAP ヘッダーごとに、エントリーをオブジェクト HashMap に追加します。 HashMap エントリー・キーは、SOAP ヘッダーの QName です。 HashMap エントリー値は null です。
  3. HashMap エントリーを Stub オブジェクトまたは Call オブジェクト上に設定します。 プロパティー名は、com.ibm.websphere.webservices.Constants.RESPONSE_SOAP_HEADERS です。 このプロパティーの値は、HashMap です。
  4. Stub オブジェクトまたは Call オブジェクトに対して、リモート・メソッド呼び出しを発行します。 Web サービス・エンジンは、Web サービス応答メッセージから指定された応答ヘッダーを抽出して、それを HashMap に挿入します。リモート・メソッドが戻ると、応答ヘッダーは HashMap オブジェクトからアクセス可能になります。
    以下のいずれかが該当する場合、JAXRPCException エラーが発生する可能性があります。
    • HashMap が QName ではないキーを含んでいます。
    • HashMap が、独自のコンポーネントによって保護されていることが宣言されている SOAP ヘッダーを表すキーを含んでいます。

タスクの結果

JAX-RPC Web サービス・クライアントで、暗黙の SOAP ヘッダーから値を受信できるようになりました。


トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_retrievesoaphead
ファイル名:twbs_retrievesoaphead.html