WebSphere Application Server for i5/OS, Version 6.1   
             オペレーティング・システム: i5/OS

             目次と検索結果のパーソナライズ化

暗黙の SOAP ヘッダーからの値の受信

既存の Web サービス・クライアントで暗黙の SOAP ヘッダー内から値を取得できます。暗黙の SOAP ヘッダーを受信するためにクライアント・コードを変更すると、着信 Web サービス応答内の固有の情報を受信できます。

始める前に

このタスクを完了するには、暗黙の SOAP ヘッダーを受信するために使用可能にできる Web サービス・クライアントが必要となります。
暗黙の SOAP ヘッダー は、以下の説明の 1 つに適合する SOAP ヘッダーです。
  • WSDL ファイルのバインディング内の SOAP ヘッダーとしてメッセージ・パーツが宣言されているが、メッセージ定義は、WSDL ファイル内の portType によって参照されていない。
  • WSDL ファイルに含まれていないエレメント。

ハンドラーとサービス・エンドポイントは、SOAP with Attachments API for Java (SAAJ) データ・モデルを使用する暗黙または明示的な SOAP ヘッダーを取り扱うことができます。

protected の SOAP ヘッダーを取り扱うことはできません。 その所有コンポーネント (例えば、Web サービス・セキュリティー) によって 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 からアクセス可能になります。
    以下のいずれかが true の場合、JAXRPCException が発生します。
    • HashMap が QName ではないキーを含んでいる。
    • HashMap が、独自のコンポーネントによって保護されていることが宣言されている SOAP ヘッダーを表すキーを含んでいる。

結果

Web サービス・クライアントが、暗黙の SOAP ヘッダーから値を受信するように構成されました。



関連タスク
暗黙の SOAP ヘッダーでの値の送信
JAX-RPC に対する拡張および J2EE クライアント・プログラミング・モデルの Web サービスのインプリメント
関連資料
例: Web サービスの要求および応答内での SOAP ヘッダーの使用
関連情報
SAAJ (SOAP with Attachments API for Java) インターフェース
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 5:46:14 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.base.iseries.doc/info/iseries/ae/twbs_retrievesoaphead.html