Menu Close
29.3. JAX-WS カタログの使用
概要
JAX-WS 仕様では、すべての実装が以下の項目をサポートすることが求められます。
Web サービスの説明の一部である Web サービスドキュメント (特に WSDL および XML スキーマドキュメント) を解決するときに使用する標準のカタログファシリティー。
このカタログファシリティーは、OASIS で指定された XML カタログファシリティーを使用します。WSDL URI を使用するすべての JAX-WS API およびアノテーションは、カタログを使用して WSDL ドキュメントの場所を解決します。
つまり、特定のデプロイメント環境に適するように、WSDL ドキュメントの場所を書き換える XML カタログファイルを指定できます。
カタログの作成
JAX-WS カタログは、OASIS XML Catalogs 1.1 仕様で定義されている標準の XML カタログです。これにより、以下のマッピングを指定できます。
- ドキュメントの公開識別子やシステム識別子から URI へのマッピング
- リソースの URI から別の URI へのマッピング
表29.1「共通的な JAX-WS カタログ要素」に、WSDL の場所の解決に使用される共通的な一部の要素を一覧表示します。
表29.1 共通的な JAX-WS カタログ要素
要素 | 説明 |
---|---|
| URI を別の URI にマッピングします。 |
| URI の先頭を書き直します。たとえば、この要素により、http://cxf.apache.org で始まるすべての URI を classpath: で始まる URI にマッピングできます。 |
| 元の URI のサフィックスに基づいて、URI を別の URI にマッピングします。たとえば、foo.xsd で終わるすべての URI を classpath:foo.xsd にマッピングできます。 |
カタログのパッケージ化
JAX-WS 仕様では、WSDL および XML スキーマドキュメントを解決するのに使用されるカタログは、META-INF/jax-ws-catalog.xml
という名前の利用可能なすべてのリソースを使用してアセンブルされることが求められます。アプリケーションが単一の JAR または WAR にパッケージ化されている場合は、カタログを単一のファイルに配置できます。
アプリケーションが複数の JAR としてパッケージ化されている場合は、カタログを複数のファイルに分割できます。各カタログファイルは、特定の JAR のコードによってアクセスされる WSDL のみに対応するように、モジュール化することができます。