Webサービスクライアント側JAX-WSエンジンでMTOM/XOP仕様形式の添付ファイルを使用できるかどうかは,SEIを取得する際に使用するMTOMFeatureクラスに依存します。MTOM/XOP仕様形式の添付ファイルの使用可否とメッセージを送受信したときの動作を次の表に示します。
表30-4 MTOM/XOP仕様形式の添付ファイルの使用可否とメッセージを送受信したときの動作
項番 | MTOM/XOP仕様形式の添付ファイル | しきい値と送信する添付ファイルサイズの関係※ | 送信するリクエストメッセージに含まれるデータ | 受信したレスポンスメッセージに含まれるデータ | 受信の成功/失敗 |
---|---|---|---|---|---|
1 | 使用する | しきい値≦添付ファイルのサイズ | バイナリデータ | バイナリデータ | 成功 |
2 | Base64形式のデータ | 成功 | |||
3 | しきい値>添付ファイルのサイズ | Base64形式のデータ | バイナリデータ | 成功 | |
4 | Base64形式のデータ | 成功 | |||
5 | 使用しない | - | Base64形式のデータ | バイナリデータ | 成功 |
6 | Base64形式のデータ | 成功 |
MTOMFeatureクラスはほかのFeatureクラスと同時に使用できます。MTOMFeatureクラスとほかのFeatureクラスを同時に使用した例を次に示します。
package com.sample; |
MTOMFeatureクラスの代わりに,javax.xml.ws.soap.SOAPBindingのsetMTOMEnabledメソッドを使用することで,MTOM/XOP仕様形式の添付ファイルを使用できるかどうかを設定できます。javax.xml.ws.soap.SOAPBindingのsetMTOMEnabledメソッドを使用した,MTOM/XOP仕様形式の添付ファイルの使用可否の設定例を次に示します。
package com.sample; |
MTOM/XOP仕様形式の添付ファイルの使用可否をjavax.xml.ws.soap.SOAPBindingのsetMTOMEnabledメソッドで設定する場合,先にMTOMFeatureクラスやjavax.xml.ws.soap.SOAPBindingのsetMTOMEnabledメソッドで使用可否を設定していると,あとからsetMTOMEnabledメソッドに設定した値は無効となり,使用可否の設定はできません。
SEIを取得する際にMTOMFeatureクラスを使用しない場合やjavax.xml.ws.soap.SOAPBindingのsetMTOMEnabledメソッドによるMTOM/XOP仕様形式の添付ファイルの使用可否を設定しない場合,MTOM/XOP仕様形式の添付ファイルを使用しません。リクエストメッセージはBase64形式のデータを含んだメッセージを送信します。また,バイナリデータを含んだメッセージかどうかに関係なく,すべてのレスポンスメッセージを受信します。
WSDLのスキーマ要素にxmime:expectedContentTypes属性がある場合とない場合では,MTOM/XOP仕様形式の添付ファイルで送信されるメッセージの添付ファイルパートにあるContent-Typeフィールドの値が変化します。xmime:expectedContentTypes属性の有無と添付ファイルパートにあるContent-Typeフィールドの値の変化を次に示します。