1.4.2 機能および仕様に関する前提条件
(1) SOAP Webサービスの機能および仕様に関する前提条件
Application Server上でSOAP Webサービスを開発するときに利用できる機能および仕様について説明します。標準仕様のサポート範囲については,次に示す個所を参照してください。
(a) デフォルトマッピング
Application ServerのJAX-WS機能で提供しているコマンドは,JAX-WS 2.2仕様の2章で規定されたWSDLからJavaへのデフォルトのマッピング,JAX-WS 2.2仕様の3章で規定されたJavaからWSDLへのデフォルトのマッピングに従って動作します。
また,Webサービス側のJAX-WSエンジンは,WebサービスのメタデータであるWSDLを要求された場合,WARファイルまたはEJB JARファイルにWSDLがなければ,JAX-WS 2.2仕様の3章で規定されたJavaからWSDLへのデフォルトのマッピングに従って,WSDLを生成します。
WSDLからJavaへのデフォルトのマッピングについては,「15.1 WSDLからJavaへのデフォルトマッピング」を参照してください。JavaからWSDLへのデフォルトのマッピングについては,「16.1 JavaからWSDLへのデフォルトマッピング」を参照してください。
(b) マッピングのカスタマイズ
Application ServerのJAX-WS機能で提供しているコマンドは,JAX-WS 2.2仕様の7章で規定されたWSDLからJavaへのマッピングのカスタマイズ(バインディング宣言),およびJAX-WS 2.2仕様の8章で規定されたJavaからWSDLへのマッピングのカスタマイズ(アノテーション)に従って動作します。
また,Webサービス側のJAX-WSエンジンは,WebサービスのメタデータであるWSDLを要求された場合,WARファイルまたはEJB JARファイルにWSDLがなければ,JAX-WS 2.2仕様の7章で規定されたJavaからWSDLへのマッピングのカスタマイズに従って,WSDLを生成します。
WARファイルについては「3.5.1 WARファイルの構成」を参照してください。EJB JARファイルについては「3.5.2 EJB JARファイルの構成」を参照してください。WSDLからJavaへのマッピングのカスタマイズについては,「15.2 WSDLからJavaへのマッピングのカスタマイズ」を参照してください。JavaからWSDLへのデフォルトのマッピングについては,「16.2 JavaからWSDLへのマッピングのカスタマイズ」を参照してください。
(c) JavaとWSDL間のバインディング
Application ServerのJAX-WSエンジンは,WebサービスおよびWebサービスクライアントともに,JAX-WS 2.2仕様の2章および3章に従って,JavaとWSDL間をバインディングします。
Application ServerのJAX-WSエンジンのサポート範囲については,「10.2 JAX-WSエンジンの動作」を参照してください。
(d) WSDL仕様
Application ServerのJAX-WS機能では,WSDL 1.1仕様のWSDLをサポートしています。WSDL定義のスタイルとしては,document/literalスタイルだけサポートしています。document/literalスタイルであれば,wrapperスタイルおよびnon-wrapperスタイルのどちらも利用できます。
WSDL 1.1仕様のサポート範囲については,「20.1 WSDL 1.1仕様のサポート範囲」を参照してください。
(e) SOAP仕様
Application ServerのJAX-WS機能では,SOAP 1.1仕様およびSOAP 1.2仕様のSOAPメッセージをサポートしています。
(f) Message Exchange Pattern(MEP)
Application ServerのJAX-WS機能では,MEPとしてrequest-responseオペレーション,およびone-wayオペレーションをサポートしています。request-responseオペレーション,およびone-wayオペレーションの定義方法については,次に示す個所を参照してください。
また,one-wayオペレーションおよび注意事項については,「10.22 one-wayオペレーション」を参照してください。
(g) 非同期関連の機能
Application ServerのJAX-WS機能では,JAX-WS 2.2仕様の2.3.4項や,4章などに記載されているWebサービスクライアントでの非同期呼び出しを実現する機能はサポートしていません。
(h) Dispatch/Providerインタフェース関連の機能
Application ServerのJAX-WS機能では,JAX-WS 2.2仕様の4章に記載されているDispatchインタフェース,JAX-WS 2.2仕様の5章に記載されているProviderインタフェース,およびDispatchインタフェースとProviderインタフェースに関連する機能をサポートしています。ただし,JAX-WS 2.2仕様の4章に記載されているオブジェクトのうち,次のオブジェクトはサポートしていません。
-
javax.activation.DataSource
-
javax.xml.transform.stax.StAXSource
(i) Endpointクラスおよび発行関連の機能
Application ServerのJAX-WS機能では,JAX-WS 2.2仕様の5章に記載されているWebサービスのエンドポイントを動的に生成し,発行するための機能はサポートしていません。
(j) ハンドラ関連の機能
Application ServerのJAX-WS機能では,Webサービスクライアントの実装で,APIによる動的なハンドラ設定をサポートしています。また,Webサービスの実装で,アノテーションによる動的なハンドラ設定をサポートしています。JSR-109仕様を前提とする静的な設定はサポートしていません。
(k) 添付ファイルの使用
Application ServerのJAX-WS機能では,SAAJ 1.3仕様,およびWSDLにwsi:swaRef型を記述する形式の添付ファイルおよびMTOM/XOP仕様形式の添付ファイルをサポートしています。WSDL 1.1仕様のMIME拡張要素を使用する記述(MIMEバインディング)はサポートしていません。wsi:swaRef形式の添付ファイルの使用方法については,「28. 添付ファイル機能(wsi:swaRef形式)」を参照してください。MTOM/XOP仕様形式の添付ファイルの使用方法については,「30. 添付ファイル機能(MTOM/XOP)」を参照してください。
(l) メッセージコンテキスト
Application ServerのJAX-WS機能では,JAX-WS 2.2仕様の9章に記載されている標準のメッセージコンテキストプロパティは,読み取りだけサポートしています。Webサービスクライアントの実装でタイムアウトを設定するためのプロパティをサポートしています。メッセージコンテキストの使用方法および注意事項については,「19.2.5 メッセージコンテキストの使用」を参照してください。
(m) API
Application ServerのJAX-WS機能では,JAX-WS 2.2仕様のAPIをサポートしています。JAX-WS APIのサポート範囲については,「19.2 APIのサポート範囲」を参照してください。
(n) XML/HTTPバインディング
Application ServerのJAX-WS機能では,JAX-WS 2.2仕様の11章に記載されているXML/HTTPバインディングはサポートしていません。
(o) ラッパbeanの動的生成
Application ServerのJAX-WS機能では,SEIを起点として開発したWebサービスで,JAX-WS2.2仕様の3.6.2.1項および3.7節に記載されているラッパbean(リクエストbeanとレスポンスbean),およびフォルトbeanのJavaBeansクラスをJAX-WSエンジンが動的に生成する機能(以降,ラッパbeanの動的生成機能と呼ぶ場合があります)をサポートしています。Webサービスクライアントや,WSDLを起点とするWebサービスでは,ラッパbeanの動的生成機能はサポートしていません。
ラッパbeanの動的生成機能については,「10.23 ラッパbeanの動的生成機能」を参照してください。
(p) 関連する標準仕様
関連する標準仕様について説明します。
-
MTOM仕様に関連する機能
Application ServerのJAX-WS機能では,JAX-WS 2.2仕様の2.4節や6.5節などに記載されたMTOM仕様に関連する機能をサポートしています。
-
WS-Addressing仕様
Application ServerのJAX-WS機能では,JAX-WS 2.2仕様の5.2.8項などに記載されたWS-Addressing仕様に関連する機能をサポートしています。詳細については,「37. アドレッシング機能」を参照してください。
-
XML Catalogs 1.1仕様
Application ServerのJAX-WS機能では,JAX-WS 2.2仕様の4.4節などに記載されたXML Catalogs 1.1仕様に関連する機能をサポートしています。
XML Catalogs 1.1仕様のサポート範囲については,「21. XML Catalogs 1.1のサポート範囲」を参照してください。
-
WSEE(JSR-109)仕様
Application ServerのJAX-WS機能では,WSEE(JSR-109)仕様をサポートしています。WSEE(JSR-109)仕様の項目とサポートの対応を次の表に示します。
表1‒2 WSEE(JSR-109)仕様の項目とサポートの対応 項番
項目
サポート
1
ステートレスセッションビーンおよびシングルトンセッションビーンの次の方法。
-
WSDLへのマッピングまたはバインディング方法。
-
SOAPへのマッピングまたはバインディング方法。
ステートレス
○
シングルトン
−
2
クライアントモデル。特に,JNDIを使用してサービスインタフェースを発見する方法と,JAX-WS仕様のWebServiceRefアノテーションを使用する方法。
4.2.2項の内容(サービスクラスおよびポートのインジェクション)
○
4.2.2項以外の内容
−
3
デプロイメントモデル。EARファイルへのパッケージング方法とライフサイクル。
5.4節記載の内容
○
5.4節以外の内容
−
4
デプロイメントディスクリプタ。webservices.xmlの構文と記述する必要がある内容,およびJAX-WS仕様(Web Services Metadata (JSR-181)仕様)で定義されるアノテーションとのマッピング。
−
5
ロールなど既存のJava EEコンテナの機能とのマッピング。
−
なお,web.xmlを省略した場合の動作はサポートしています。web.xmlを省略した場合の動作については,「3.4.3 web.xmlをWARファイルに含めない場合の動作」を参照してください。
-
-
SAAJ 1.3仕様
Application ServerのJAX-WS機能では,SAAJ 1.3仕様をサポートしています。SAAJ 1.3仕様のAPIについては,「22.1 SAAJ 1.3仕様のサポート範囲」を参照してください。
(2) RESTful Webサービスの機能および仕様に関する前提条件
Application Server上でRESTful Webサービス(Webリソース)を開発するときに利用できる機能および仕様について説明します。標準仕様のサポート範囲については,「24. JAX-RS仕様のサポート範囲」を参照してください。
(a) リソースクラス
Webリソースを実装するクラスで,JAX-RS 1.1仕様の3章で定義されています。ルートリソースクラスとサブリソースクラスの2種類があります。Application ServerのJAX-RS機能はどちらのリソースクラスもサポートしています。
ルートリソースクラスについては,「17.1.1 ルートリソースクラス」を参照してください。サブリソースクラスについては,「17.1.7 サブリソースクラス」を参照してください。
(b) プロバイダ
JAX-RSエンジンを拡張する機能で,JAX-RS 1.1仕様の4章で定義されています。エンティティプロバイダ,コンテキストプロバイダ,例外マッピングプロバイダの3種類があります。
エンティティプロバイダは,HTTPエンティティボディとJava型をマッピングするプロバイダです。JAX-RS機能は,ビルトインのエンティティプロバイダをサポートしています。ビルトインのエンティティプロバイダがサポートするMIMEタイプとJava型については,「17.1.1(4)(c) エンティティパラメタ」を参照してください。
コンテキストプロバイダは,リソースやほかのプロバイダにコンテキストを提供するプロバイダです。JAX-RS機能は,ビルトインのコンテキストプロバイダをサポートしています。ビルトインのコンテキストプロバイダがサポートするコンテキストについては,「24.4 コンテキスト」を参照してください。
例外マッピングプロバイダは,Webリソースの例外のHTTPレスポンスへのマッピングをカスタマイズするプロバイダです。例外マッピングプロバイダについては,「17.2.2 例外マッピングプロバイダ」を参照してください。
(c) Application
Applicationはリソースクラスとプロバイダのファクトリで,JAX-RS 1.1仕様の2章で定義されています。JAX-RS 1.1仕様はビルトインのApplicationをサポートしています。ビルトインのApplicationについては,「11.3.1 WARファイルの構成」を参照してください。