JAX-WS Web サービスでの WSDL バインディングの順守
Java™ API for XML-Based Web Services (JAX-WS) バージョン 2.1 では、特定の機能および動作をプログラムで制御する方法として、フィーチャー の 概念が導入されました。 サポートされる標準フィーチャーの 1 つが RespectBindingFeature です。 RespectBindingFeature を使用することによって、 エンドポイントに関連付けられている Web Services Description Language (WSDL) バインディングの内容 を JAX-WS 実装が順守する必要があるかどうかを制御できます。
このタスクについて
WSDL 文書は開発プロセス中は頻繁に使用されますが、 WSDL 文書に指定があればその指定内容をランタイムで使用 するよう実際に強制することについては、バージョン 2.1 より前の バージョンの JAX-WS 仕様では明確に定義されていませんでした。JAX-WS ランタイム環境での wsdl:binding の影響を はっきりさせるため、JAX-WS バージョン 2.1 仕様では フィーチャー RespectBindingFeature が追加されました。
この フィーチャー RespectBindingFeature が使用可能になっていると、JAX-WS ランタイム 環境は実行時にエンドポイントの wsdl:binding を検査して、 サービス・エンドポイント・インターフェース (SEI) のパラメーターおよび戻り値 のバインディングが順守されるようにします。それに加えて、この フィーチャーは、すべての必要な wsdl:binding 拡張がランタイム環境に よって解釈され、使用されるか、そうでなければ、アプリケーションによって 明示的に使用不可にされているかのどちらかであることを保証します。JAX-WS アプリケーション は、WebServiceFeature インターフェースが定義されている特定の wsdl:binding 拡張を、 そのフィーチャーに関連した適切なアノテーションを使用することで使用不可にできます。 そのためには、javax.xml.ws.WebServiceFeature インターフェースを受け入れる API を 使用するか、デプロイメント記述子を構成します。
RespectBindingFeature フィーチャーが 使用可能になっていない場合 (これがデフォルトです)、 ランタイム環境は wsdl:binding の各パートを順守するかどうかを 選択できます。
手順
タスクの結果
フィーチャー RespectBindingFeature を実装することに よって、JAX-WS アプリケーションのエンドポイントに関連付けられた WSDL バインディング の内容を順守するよう指定できました。