ここでは,Javaインタフェース内で添付ファイルを指定するJava型について説明します。
MTOM/XOP仕様形式の添付ファイルは,次に示す個所のBase64形式のデータにマッピングされるJava型がすべて対象です。
Base64形式のデータにマッピングされるJava型が複数ある場合,特定のJava型だけをMTOM/XOP仕様形式の添付ファイルの対象にすることはできません。
MTOM/XOP仕様形式の添付ファイルで使用するアノテーションは次のとおりです。
WebサービスでMTOM/XOP仕様形式の添付ファイルを使用するには,Webサービス実装クラスにjavax.xml.ws.soap.MTOMアノテーションをアノテートします。MTOM/XOP仕様形式の添付ファイルを使用したWebサービス実装クラスの例を次に示します。
package com.sample; |
また,javax.xml.ws.soap.MTOMアノテーションの代わりにjavax.xml.ws.soap.SOAPBindingインタフェースのフィールド値をjavax.xml.ws.BindingTypeアノテーションに指定することで,MTOM/XOP仕様形式の添付ファイルを使用できます。javax.xml.ws.soap.MTOMアノテーションとjavax.xml.ws.BindingTypeアノテーションに指定するjavax.xml.ws.soap.SOAPBindingインタフェースのフィールド値の関係を次の表に示します。
表30-1 MTOMアノテーションとSOAPBindingインタフェースのフィールドの関係
項番 | MTOMアノテーション | BindingTypeアノテーション | MTOM/XOP仕様形式の添付ファイル | ||
---|---|---|---|---|---|
アノテーション有無 | enabled要素値 | SOAPBindingインタフェースのフィールド値 | フィールド値の記述可否 | ||
1 | あり | true | SOAP11HTTP_BINDING | 可 | ○ |
2 | SOAP12HTTP_BINDING | 可 | ○ | ||
3 | SOAP11HTTP_MTOM_BINDING | 可 | ○ | ||
4 | SOAP12HTTP_MTOM_BINDING | 可 | ○ | ||
5 | false | SOAP11HTTP_BINDING | 可 | × | |
6 | SOAP12HTTP_BINDING | 可 | × | ||
7 | SOAP11HTTP_MTOM_BINDING | 否※ | - | ||
8 | SOAP12HTTP_MTOM_BINDING | 否※ | - | ||
9 | なし | - | SOAP11HTTP_BINDING | 可 | × |
10 | SOAP12HTTP_BINDING | 可 | × | ||
11 | SOAP11HTTP_MTOM_BINDING | 可 | ○ | ||
12 | SOAP12HTTP_MTOM_BINDING | 可 | ○ |
javax.xml.ws.soap.MTOMアノテーションの代わりにjavax.xml.ws.soap.SOAPBindingインタフェースのフィールドを使用したWebサービス実装クラスの例を次に示します。
package com.sample; |
Document BareスタイルのJavaクラスで,MTOM/XOP仕様形式の添付ファイルを使用し,Java型とMIMEタイプを関連づける場合,Java型をサービスメソッドの戻り値やパラメタに使用しないでください。Java型とMIMEタイプを関連づける場合は,ユーザ定義型のフィールドにJava型を使用し,そのフィールドのgetterメソッドにjavax.xml.bind.annotation.XmlMimeTypeアノテーションをアノテートします。