添付ファイルからSOAPメッセージへマッピングするときの設定値について説明します。マッピング規則については,「30.5.2 添付ファイルからSOAPメッセージへのマッピングの注意事項(MTOM/XOP)」と合わせて確認してください。
MTOM/XOP仕様形式の添付ファイル使用時に,HTTPヘッダのフィールドおよびパラメタに設定される値を次の表に示します。
表30-6 HTTPヘッダのフィールドおよびパラメタの設定値
項番 | フィールド名 | パラメタ名 | 設定値 |
---|---|---|---|
1 | Content-Type | - | "multipart/related"が設定されます。※ |
2 | start | ルートパートのContent-Idが設定されます。 | |
3 | type | "application/soap+xml"が設定されます。 | |
4 | boundary | MIMEパートの境界文字列が設定されます。 | |
5 | start-info |
|
HTTPボディは,ルートパート,添付ファイルパート,および各パートの境界文字列で構成されます。添付ファイル使用時に,各パートに生成される内容,および設定される値を示します。
添付ファイル使用時に,ルートパートのフィールドに設定される値を次の表に示します。
表30-7 ルートパートのフィールドおよびパラメタの設定値
項番 | フィールド名 | パラメタ名 | 設定値 |
---|---|---|---|
1 | Content-Type | - | "application/xop+xml"が設定されます。 |
2 | charset | "utf-8"が設定されます。 | |
3 | type |
| |
4 | Content-Transfer-Encoding | なし | "binary"が設定されます。 |
5 | Content-Id | なし | "rootpart*"+"グローバルに一意な値"+"@"+"jaxws.cosminexus.com"が設定されます。 |
添付ファイルを使用する場合,ルートパートのMIMEボディには,SOAPエンベロープがそのまま格納されます。SOAPエンベロープ内のSOAPボディからMTOM/XOP仕様形式の添付ファイルを参照する方法として,XOPが使用されます。
添付ファイル使用時に,添付ファイルパートのMIMEヘッダに設定される値を次の表に示します。
表30-8 添付ファイルパートのフィールドおよびパラメタの設定値
項番 | フィールド名 | パラメタ名 | 設定値 |
---|---|---|---|
1 | Content-Type | - | XmlMimeTypeアノテーションのvalue要素に指定したMIMEタイプのテキスト表現が設定されます。※1,※2,※3 |
2 | charset | MTOM/XOP仕様形式の添付ファイルの対象がSource型の場合,"UTF-8"が設定されます。※4 MTOM/XOP仕様形式の添付ファイルの対象がDataHandler型の場合,DataHandlerオブジェクト生成時に指定した文字コードが設定されます。※5 MTOM/XOP仕様形式の添付ファイルの対象が上記以外のJava型の場合,パラメタは出現しません。 | |
3 | Content-Transfer-Encoding | なし | "binary"が設定されます。 |
4 | Content-Id | なし | "グローバルに一意な値"+"@"+"jaxws.cosminexus.com"が設定されます。 |
DataHandler dhandler = new DataHandler ("あいうえお", "text/plain; charset=Shift_JIS"); |
MTOM/XOP仕様形式の添付ファイルのJava型のjavax.activation.DataHandler型は,wsi:swaRef形式の添付ファイルとして使用できるJava型のjavax.activation.DataHandler型と同様に,JavaBeans Activation Framework(JAF)の型です。そのため,javax.activation.DataHandler型には任意のMIMEタイプの添付ファイルデータを指定できます。