Cosminexus V9 アプリケーションサーバ 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アノテーションによる変化

(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フィールド値として設定されます。