Cosminexus V9 アプリケーションサーバ Webサービス開発ガイド

[目次][用語][索引][前へ][次へ]

30.2 添付ファイルのJavaインタフェース(MTOM/XOP)

ここでは,Javaインタフェース内で添付ファイルを指定するJava型について説明します。

<この節の構成>
(1) MTOM/XOP仕様形式の添付ファイルの対象
(2) MTOM/XOP仕様形式の添付ファイルで使用するアノテーション
(3) MTOM/XOP仕様形式の添付ファイルの使用方法
(4) Document BareスタイルでのMTOM/XOP仕様形式の添付ファイル

(1) MTOM/XOP仕様形式の添付ファイルの対象

MTOM/XOP仕様形式の添付ファイルは,次に示す個所のBase64形式のデータにマッピングされるJava型がすべて対象です。

Base64形式のデータにマッピングされるJava型が複数ある場合,特定のJava型だけをMTOM/XOP仕様形式の添付ファイルの対象にすることはできません。

(2) MTOM/XOP仕様形式の添付ファイルで使用するアノテーション

MTOM/XOP仕様形式の添付ファイルで使用するアノテーションは次のとおりです。

(3) MTOM/XOP仕様形式の添付ファイルの使用方法

WebサービスでMTOM/XOP仕様形式の添付ファイルを使用するには,Webサービス実装クラスにjavax.xml.ws.soap.MTOMアノテーションをアノテートします。MTOM/XOP仕様形式の添付ファイルを使用したWebサービス実装クラスの例を次に示します。

package com.sample;
 
@MTOM
@BindingType(・・・)
public class UserInfoImpl implements UserInfo {
 
    public UserData setUserData(Image image)
        throws UserDefinedException {
        ・・・・・・
    }
}

また,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

(凡例)
○:有効です。
×:無効です。
−:該当しません。

注※
Webサービス開始時にjavax.xml.ws.WebServiceExceptionが発生します。

javax.xml.ws.soap.MTOMアノテーションの代わりにjavax.xml.ws.soap.SOAPBindingインタフェースのフィールドを使用したWebサービス実装クラスの例を次に示します。

package com.sample;
 
@BindingType(SOAPBinding.SOAP11HTTP_MTOM_BINDING)
public class UserInfoImpl implements UserInfo {
 
    public UserData setUserData(Image image)
        throws UserDefinedException {
        ・・・・・・
    }
}

(4) Document BareスタイルでのMTOM/XOP仕様形式の添付ファイル

Document BareスタイルのJavaクラスで,MTOM/XOP仕様形式の添付ファイルを使用し,Java型とMIMEタイプを関連づける場合,Java型をサービスメソッドの戻り値やパラメタに使用しないでください。Java型とMIMEタイプを関連づける場合は,ユーザ定義型のフィールドにJava型を使用し,そのフィールドのgetterメソッドにjavax.xml.bind.annotation.XmlMimeTypeアノテーションをアノテートします。