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

JAX-WS アプリケーションの場合、WSDL 文書に WS-Policy アサーションを追加することにより、クライアントまたはサービス・アプリケーションの開発時に WS-Addressing サポートを使用可能にできます。

このタスクについて

JAX-WS 2.2 仕様で、アプリケーション WSDL 文書内の WS-Policy アサーションをコード内の Java™ アノテーションとの間でマップできるようにする機能が導入されました。

JAX-WS アプリケーションで WS-Addressing サポートを使用可能にするのには、いくつかの方法があります。 AddressingFeature クラスを使用するとか、Addressing アノテーションを使用するなどの、より優先度の高い方式でオーバーライドされない限り、WS-Policy を使用する方式が有効になります。 WebSphere® Application Server で使用される優先順位の詳細については、親トピック『JAX-WS アプリケーションに対する Web サービス・アドレッシング・サポートの使用可能化』を参照してください。

注: WebSphere Application Server バージョン 8 は JAX-WS 2.2 仕様をサポートします。 JAX-WS 2.1 仕様と JAX-WS 2.2 仕様の相違点の 1 つは、WS-Policy に WS-Addressing サポートが定義されている場合に、従来はアプリケーションの WSDL 内の WS-Policy の存在が無視されていたのに対し、現在はアプリケーションの構成内の WebSphere Application Server によって使用される点です。アプリケーションの WSDL に WS-Policy があるかどうかが WS-Addressing 構成のためにチェックされるので、WebSphere Application Server の以前のバージョンで実行されたアプリケーションの振る舞いが変わってしまう場合があります。

プロバイダー・コードに Addressing アノテーションを追加し、wsgen コマンド行ツールを使用して WSDL 文書を生成すると、WS-Addressing サポートを指定する WS-Policy アサーションが WSDL 文書に含まれることになります。 しかし、公開された WSDL 文書をプロバイダー・サービス用に参照している場合、これによってコード内に定義されているアノテーションがあっても上書きされてしまうため、ポリシー・セットに定義されているポリシーが表示される場合があります。

既存の WSDL 文書を使用して Java コードを作成している場合、WebSphere Application Server が WSDL を読み取る時に、WS-Addressing サポートを指定する WS-Policy アサーションがあると、生成される Java コードに Addressing アノテーションが含まれるようになります。

手順

タスクの結果

WS-Addressing を使用可能にするよう指定する WS-Addressing アノテーションをアプリケーション・コードに追加すると、生成した WSDL には WS-Policy アサーションが含まれます。

WS-Addressing サポートを指定する WS-Policy アサーションが WSDL に含められると、生成される SOAP メッセージに 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_pa
ファイル名:twbs_wsa_dep_jaxws_pa.html