16.2.20 javax.xml.ws.soap.MTOMアノテーション
javax.xml.ws.soap.MTOMアノテーションは,MTOM/XOP仕様形式の添付ファイルを使用するWebサービスに指定します。
javax.xml.ws.soap.MTOMアノテーションについて,次に説明します。
- Webサービス側
-
Webサービス実装クラスだけで指定できます。SEIに指定すると無視されます。また,プロバイダ実装クラス(javax.xml.ws.providerインタフェースを実装するクラス)に指定した場合は動作が保証されません。
- Webサービスクライアント側
-
ポートをインジェクトするフィールドまたはsetterメソッドに指定できます。詳細については,「10.21.1(4) フィーチャの有効化」を参照してください。それ以外のフィールドやメソッドに指定した場合は無視されます。
cjwsimportコマンドが生成するWebサービス実装クラスのスケルトンクラスを使用してMTOM/XOP仕様形式の添付ファイルを使用するWebサービスを作成する場合,Webサービス実装クラスのスケルトンクラスにはjavax.xml.ws.soap.MTOMアノテーションをマッピングしないので,javax.xml.ws.soap.MTOMアノテーションを指定する必要があります。なお,Webサービス実装クラスにjavax.xml.ws.soap.MTOMアノテーションを指定しても,Webサービス側のJAX-WSエンジンが発行するWSDLファイルやhwsgenコマンドが生成するWSDLファイルには,MTOM/XOP仕様形式の添付ファイルが使用されていることを示す要素や属性は出現しません。
javax.xml.ws.soap.MTOMアノテーションは,Webサービス開始時に参照されるだけです。hwsgenコマンドの実行時には解釈されません。
Webサービス側でjavax.xml.ws.soap.MTOMアノテーションを使用した例を次に示します。
・・・・・ @MTOM @WebService(endpointInterface = "jaxwstp.example.service.ExamplePortType", targetNamespace = "http://service.example.jaxwstp/", serviceName = "ExampleService", portName = "ExamplePort") public class ExampleBinding implements ExamplePortType {