JAX-WS アプリケーションに対する Web サービス・アドレッシング・サポートの使用可能化

Web サービス・アドレッシング (WS-Addressing) サポートでは、Web サービスをアドレス指定するメカニズムを提供し、メッセージにアドレッシング情報を提供します。JAX-WS アプリケーションの場合は、 ポリシー・セットの構成や、コード内でのアノテーションの使用など、 いくつかの異なる方法で WS-Addressing サポートを使用可能にすることができます。

このタスクについて

このタスクを実行して、WS-Addressing サポートを、サービス・プロバイダーまたは別の関係者によって提供されたサービスのクライアントのどちらかとして、有効にします。

サービス・プロバイダーの場合、WS-Addressing サポートはデフォルトで使用可能に設定されているため、そのサポートを使用可能にする処置は何も行う必要がありません。 ただし、この使用可能化メカニズムを使用して、WS-Addressing 情報が要求されるかどうか、および生成される WSDL 文書に何が含まれるかといった、サービスに対する WS-Addressing のその他の振る舞いを変更することができます。
  • ポリシー・セットをアプリケーションに関連付けてアプリケーションをデプロイしてから、WS-Addressing サポートの振る舞いを変更します。 ポリシー・セット内で、WS-Addressing ポリシー・セットを構成して、着信メッセージで WS-Addressing 情報が要求されるかどうかということや、同期メッセージングまたは非同期メッセージングのどちらを使用するかなどを指定することができます。 サーバーでポリシー共有を使用可能に設定し、クライアントにプロバイダー・ポリシーを適用することで、WS-Addressing ポリシー構成を、WS-Policy をサポートするその他のサーバーおよびクライアントに伝えることができます。 この方法は、他の方法よりも優先されます。
  • port-component エレメント内でデプロイメント記述子を使用します。
  • サービス・コードで Addressing アノテーションまたは SubmissionAddressing アノテーションを使用することによって、 サービスの開発時に WS-Addressing サポートの振る舞いを変更します。 各アノテーションで、サーバーで WS-Addressing が使用可能かどうか、サーバーが着信メッセージで WS-Addressing 情報を必要とするかどうか、さらにサーバーが使用することになるメッセージ交換パターンを指定できます。 コード内に Addressing アノテーションがあると、サービスで生成される任意の WSDL 文書に対して、UsingAddressing エレメントと WS-Policy アサーションが追加されます。
  • WSDL 文書に UsingAddressing エレメントまたは WS-Policy アサーションを追加して、サービス開発中の WS-Addressing サポートの動作を変更します。 JAX-WS ランタイム環境で生成した WSDL 文書に依存するのではなく、独自の WSDL 文書を提供し、その WSDL 文書が JAX-WS 2.2 クライアント以外によって使用される場合には、クライアントが WS-Policy アサーションを処理しないように UsingAddressing エレメントを組み込むこともできます。
サービス・クライアントの場合、WS-Addressing サポートはデフォルトで使用不可に設定されています。 WS-Addressing サポートを使用可能にするには、以下の方法の 1 つを使用します。適用できる方法は複数あるので、以下のリストは優先順位が高い順に記述されています。例えば、デプロイメント記述子による方法は、 アノテーションまたはフィーチャーの使用をオーバーライドしますが、ポリシー・セットの使用 によりオーバーライドされます。
  • クライアント成果物にポリシー・セットを付加し、以下のいずれかのアクションを実行します。
    • ポリシーで、WS-Addressing を必須に指定します。
    • クライアントおよびプロバイダーの両方のポリシーを適用します。 この状態では、サービス・プロバイダー上でポリシー共有が有効に設定され、そのプロバイダーのポリシー構成で WS-Addressing が必須に指定されている場合にのみ、クライアントで WS-Addressing サポートが使用可能になります。
    この方法は、他の方法よりも優先されます。
  • クライアント要求コンテキストにプロパティー com.ibm.websphere.webservices.use.async.mep を設定します。
  • IBM® 専有の WS-Addressing SPI を使用して、メッセージ・アドレッシング・プロパティーをメッセージ要求コンテキストに追加します。
  • port-component-ref エレメント内でデプロイメント記述子を使用します。
  • クライアント・コードで Addressing アノテーションと WebServiceRef アノテーションを 組み合わせて使用します (注入された Web サービス・プロキシー参照を使用している場合)。
  • クライアント・コードでアドレッシング・フィーチャーを使用します。この方法によるプロパティーの設定は、 サービスの WSDL 文書内のプロパティーの設定をオーバーライドします。
  • WSDL 文書で WS-Policy アサーションを使用して、WS-Addressing サポートを指定します。 クライアント・アプリケーション・コードに Addressing アノテーションを追加すると、生成された WSDL 文書には WS-Policy アサーションが組み込まれます。
  • サービスの WSDL 文書に UsingAddressing エレメントを指定します。 サービスで Addressing アノテーションが使用されており、 WSDL 文書をコードから生成する場合は、UsingAddressing エレメントは既に存在しています。

以下の表に、WS-Addressing サポートの動作の要約を示します。 この表を使用して、ポリシー構成が関係しないクライアント設定に対して、要求メッセージが受け入れられるかどうかを判別します。

これは、複数列にまたがる列見出しのある複雑な表となっています。 「クライアント設定 (Client settings)」というタイトルのヘッダー列があり、これは WS-Addressing サポートがクライアントで有効かどうか、またどのメッセージング・スタイルが構成されているかを示しています。2 番目のメイン列はプロバイダー上のポリシー設定を示していて、その下に 2 つのサブ列があり、WS-Addressing がオプションか必須かを示しています。 どちらのサブ列も、さらに 3 つのサブ列に分割され、メッセージング・スタイル (同期、非同期、またはその両方) を示します。 3 番目のメイン列は、プロバイダー上の WSDL 設定を示していて、WS-Addressing がオプションか必須かを示すサブ列が 2 つあります。
表 1. 要求メッセージが受け入れられるかどうかの決定にクライアント設定とプロバイダー設定がどのように相互作用しているか. 前の段落でこの表について説明しています。
クライアント設定 プロバイダー・ポリシー設定 プロバイダー WSDL 設定 (UsingAddressing required 属性)
WS-Addressing はオプション WS-Addressing は必須1
同期および非同期 同期のみ (Synchronous only) 非同期のみ (Asynchronous only) 同期および非同期 同期のみ (Synchronous only) 非同期のみ (Asynchronous only) false (WS-Addressing はオプション) true (WS-Addressing は必須1)
WS-Addressing サポート有効で、メッセージング・スタイルは同期 メッセージ受け入れ メッセージ受け入れ 障害 メッセージ受け入れ メッセージ受け入れ 障害 メッセージ受け入れ メッセージ受け入れ
WS-Addressing サポート有効で、メッセージング・スタイルは非同期 メッセージ受け入れ 障害 メッセージ受け入れ メッセージ受け入れ 障害 メッセージ受け入れ メッセージ受け入れ メッセージ受け入れ
WS-Addressing サポート無効で、メッセージング・スタイルは同期 メッセージ受け入れ メッセージ受け入れ メッセージ受け入れ2 障害 障害 障害 メッセージ受け入れ 障害
WS-Addressing サポート無効で、メッセージング・スタイルは非同期3 障害 障害 障害 障害 障害 障害 障害 障害
注意:
  1. WS-Addressing が必須の場合、WS-Addressing ヘッダーがない要求はすべて拒否されます。
  2. メッセージング・スタイルは、WS-Addressing ヘッダーが要求内に存在する場合にのみ適用されます。
  3. 非同期メッセージングは、WS-Addressing ヘッダーなしでは使用できません。

以下の表を使用して、クライアントとプロバイダーの両方に WS-Addressing ポリシー構成があり、クライアントにプロバイダー・ポリシーとクライアント・ポリシーが適用され、サーバー上でポリシー共有が有効になっている場合に要求メッセージが受け入れられるかどうかを判断します。

これは、複数列にまたがる列見出しのある複雑な表となっています。 「クライアント設定 (Client settings)」というタイトルのヘッダー列があり、これは WS-Addressing サポートがクライアントでオプションか必須か、またどのメッセージング・スタイルが構成されているかを示しています。2 番目のメイン列はプロバイダー上のポリシー設定を示していて、その下に 2 つのサブ列があり、WS-Addressing がオプションか必須かを示しています。 どちらのサブ列も、さらに 3 つのサブ列に分割され、メッセージング・スタイル (同期、非同期、またはその両方) を示します。
表 2. 要求メッセージが受け入れられるかどうかの決定にクライアントとプロバイダーのポリシー設定がどのように相互作用しているか. 前の段落でこの表について説明しています。
クライアント・ポリシー設定 プロバイダー・ポリシー設定
WS-Addressing はオプション WS-Addressing を必須にする (WS-Addressing is mandatory)
同期および非同期 同期のみ (Synchronous only) 非同期のみ (Asynchronous only) 同期および非同期 同期のみ (Synchronous only) 非同期のみ (Asynchronous only)
WS-Addressing はオプション、メッセージング・スタイルは同期および非同期 メッセージ受け入れ メッセージ受け入れ メッセージ受け入れ メッセージ受け入れ メッセージ受け入れ メッセージ受け入れ
WS-Addressing はオプション、メッセージング・スタイルは同期のみ メッセージ受け入れ メッセージ受け入れ メッセージ受け入れ1 メッセージ受け入れ メッセージ受け入れ 障害
WS-Addressing はオプションで、メッセージング・スタイルは非同期のみ2 障害 障害 障害 メッセージ受け入れ 障害 メッセージ受け入れ
WS-Addressing は必須で、メッセージング・スタイルは同期および非同期 メッセージ受け入れ メッセージ受け入れ メッセージ受け入れ メッセージ受け入れ メッセージ受け入れ メッセージ受け入れ
WS-Addressing は必須で、メッセージング・スタイルは同期のみ メッセージ受け入れ メッセージ受け入れ 障害 メッセージ受け入れ メッセージ受け入れ 障害
WS-Addressing は必須で、メッセージング・スタイルは非同期のみ メッセージ受け入れ 障害 メッセージ受け入れ メッセージ受け入れ 障害 メッセージ受け入れ
注意:
  1. メッセージング・スタイルは、WS-Addressing ヘッダーが要求内に存在する場合にのみ適用されます。
  2. 非同期メッセージングは、WS-Addressing ヘッダーなしでは使用できません。
プロバイダー・ポリシーとクライアント・ポリシーが共有されない場合、クライアントは WS-Addressing ヘッダーを送信しません (別の方法によってクライアント上で WS-Addressing を有効にした場合を除く)。 この状態では、プロバイダー・ポリシーによって WS-Addressing が必須であると指定されている場合、メッセージング・スタイルに関係なくサーバーによって障害が生成されます。

手順

タスクの結果

これで、WS-Addressing プロパティーが SOAP メッセージ・ヘッダーに含まれ、メッセージを受信するとサーバーによって処理されるようになりました。


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



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