アドレッシング・フィーチャーを使用した、JAX-WS アプリケーションに対する Web サービス・アドレッシング・サポートの使用可能化
JAX-WS アプリケーションの場合、コード内でアドレッシング・フィーチャーを使用することで、 クライアント・アプリケーションの開発時に WS-Addressing サポートを使用可能にできます。
このタスクについて
- AddressingFeature - このクラスは、WS-Addressing 2005/08 仕様に準拠する WS-Addressing ヘッダーが含まれているメッセージを送信する場合に使用します。
- SubmissionAddressingFeature - このクラスは、WS-Addressing 2004/08 仕様に準拠する WS-Addressing ヘッダーが含まれているメッセージを送信する場合に使用します。
パラメーター名 | 指定可能な値 | 説明 |
---|---|---|
enabled | true (デフォルト) |
WS-Addressing サポートが使用可能かどうか |
required | true |
WS-Addressing ヘッダーが必須かどうか。 |
responses | Responses.All (デフォルト) |
同期または非同期のどちらのメッセージ交換パターンを使用するか。
メッセージを同期メッセージ・パターンで送信する場合は Responses.ANONYMOUS を指定し、非同期メッセージ交換パターンで送信する場合は Responses.NON_ANONYMOUS を使用します。
注: このパラメーターは、SubmissionAddressingFeature クラスでは
サポートされません。
|
注: アドレッシング・フィーチャー・クラスは、SOAP (1.1 または 1.2)
over HTTP バインディングでのみ使用できます。
別のバインディング (XML
over HTTP など) でこのクラスを使用すると、クライアントで例外がスローされ、サーバーで Web サービスのデプロイが失敗します。
手順
いずれかのアドレッシング・フィーチャー・クラスのインスタンスを作成し、必要に応じて
パラメーターを指定します。 例えば、WS-Addressing が使用可能かつ必須であり、2005/08 仕様および非同期メッセージ交換パターンを使用するように指定するには、以下のコードを使用します。
AddressingFeature feat = new AddressingFeature(true, true, AddressingFeature.Responses.NON_ANONYMOUS);
2004/08 仕様に対して WS-Addressing が使用不可になるように設定するには、以下のコードを使用します。
SubmissionAddressingFeature feat = new SubmissionAddressingFeature(false);
タスクの結果
WS-Addressing を使用可能に指定すると、クライアントは SOAP メッセージに WS-Addressing ヘッダーを組み込むようになります。ヘッダーは、使用されるフィーチャー・クラスのタイプによって指定される WS-Addressing 仕様に準拠します。 サーバーでアノテーションが使用されない場合、 またはポリシー・セットを使用して WS-Addressing を使用可能にする場合、 サーバーは 2005/08 と 2004/08 の両方の仕様を受け入れます。
WS-Addressing を必須と指定した場合に、 クライアントが WS-Addressing ヘッダーが含まれないメッセージを受け取ると、クライアントは フォールトを返します。
responses 属性を指定すると、対応するメッセージ交換パターンが使用されます。