Hitachi

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


30.4.1 Webサービス側JAX-WSエンジンの動作

Webサービス側JAX-WSエンジンでMTOM/XOP仕様形式の添付ファイルを使用できるかどうかは,Webサービス実装クラスに指定されているjavax.xml.ws.soap.MTOMアノテーション,またはjavax.xml.ws.BindingTypeアノテーションに指定するSOAPBindingインタフェースのフィールド値に依存します。MTOM/XOP仕様形式の添付ファイルの使用可否とリクエストメッセージを受信したときの動作を次の表に示します。

表30‒2 MTOM/XOP仕様形式の添付ファイルの使用可否とリクエストメッセージを受信したときの動作

項番

MTOM/XOP仕様形式の添付ファイル

受信したリクエストメッセージに含まれるデータ

受信の成功/失敗

しきい値と送信する添付ファイルサイズの関係

送信するレスポンスメッセージに含まれるデータ

1

使用する

バイナリデータ

成功

しきい値≦添付ファイルのサイズ

バイナリデータ

2

Base64形式のデータ

成功

しきい値>添付ファイルのサイズ

3

使用しない

バイナリデータ

成功

なし

Base64形式のデータ

4

Base64形式のデータ

成功

なし

注※

javax.activation.DataHandlerを使用した場合はしきい値で判定されません。常にバイナリデータとして送信します。

Webサービス実装クラスにjavax.xml.ws.soap.MTOMアノテーションを指定しない場合やjavax.xml.ws.BindingTypeアノテーションに指定するSOAPBindingインタフェースのフィールド値にSOAPBinding.SOAP11HTTP_MTOM_BINDINGおよびSOAPBinding.SOAP12HTTP_MTOM_BINDINGを指定しない場合,MTOM/XOP仕様形式の添付ファイルを使用しません。バイナリデータを含んだメッセージかどうかに関係なく,すべてのリクエストメッセージを受信します。また,レスポンスメッセージはBase64形式のデータを含んだメッセージを送信します。

〈この項の構成〉

(1) javax.xml.bind.annotation.XmlMimeTypeアノテーションによる変化

Java型とMIMEタイプを関連づけるjavax.xml.bind.annotation.XmlMimeTypeアノテーションをSEIなどにアノテートしている場合とアノテートしていない場合では,MTOM/XOP仕様形式の添付ファイルで送信されるメッセージの添付ファイルパートにあるContent-Typeフィールドの値が変化します。javax.xml.bind.annotation.XmlMimeTypeアノテーションの可否と添付ファイルパートにあるContent-Typeフィールドの値の変化を次に示します。

注※

DataHandlerを使用した場合,Content-Typeフィールドの設定値はDataHandlerオブジェクトの生成方法によって異なります。

  • DataHandler(DataSource)コンストラクタで生成する場合

    FileDataSourceの場合,入力となるファイルデータの拡張子から,JAFによって決定されたMIMEタイプがContent-Typeフィールド値として設定されます。

  • DataHandler(Object, String)コンストラクタで生成する場合

    DataHandlerオブジェクト生成時に,コンストラクタの第2引数に指定した内容(MIMEタイプ)がそのままContent-Typeフィールド値として設定されます。