添付ファイルからSOAPメッセージへマッピングするときの設定値について説明します。マッピング規則については,「28.4.2 添付ファイルからSOAPメッセージへのマッピングの注意事項(wsi:swaRef形式)」と合わせて確認してください。
添付ファイル使用時に,HTTPヘッダのフィールドおよびパラメタに設定される値を次の表に示します。
表28-5 HTTPヘッダのフィールドおよびパラメタの設定値
項番 | フィールド名 | パラメタ名 | 設定値 |
---|---|---|---|
1 | Content-Type | - | "multipart/related"が設定されます。 |
2 | type |
| |
3 | boundary | MIMEパートの境界文字列が設定されます。 |
1個以上の非ルートMIMEパートを列挙している場合(添付ファイル付きSOAPメッセージを送受信する場合)は,Content-Typeにmultipart/relatedが設定されます。MIMEパートがない場合,SOAP 1.1仕様のときは"text/xml"が,SOAP 1.2仕様のときは"application/soap+xml"が設定されます。
HTTPボディは,ルートパート,添付ファイルパート,および各パートの境界文字列で構成されます。添付ファイル使用時に,各パートおよび境界文字列に生成される内容,および設定される値を示します。
添付ファイル使用時に,ルートパートのContent-Typeフィールドに設定される値を次の表に示します。
表28-6 ルートパートのフィールドの設定値
項番 | フィールド名 | 設定値 |
---|---|---|
1 | Content-Type |
|
2 | Content-Id | "グローバルに一意な値"+"@"+"jaxws.cosminexus.com"が設定されます。 |
添付ファイルを使用する場合,ルートパートのMIMEボディには,SOAPエンベロープがそのまま格納されます。SOAPエンベロープ内のSOAPボディから添付ファイルを参照する方法として,CID URLスキームが使用されます。
CID URLスキームの形式を次に示します。
"cid:"+<添付ファイルパートのContent-Id> |
ルートパートのMIMEヘッダとMIMEボディ間には,境界文字列として"CRLF"が設定されます。
添付ファイル使用時に,添付ファイルパートのMIMEヘッダに設定される値を次の表に示します。
表28-7 添付ファイルパートのMIMEヘッダの設定値
項番 | フィールド名 | パラメタ名 | 設定値 |
---|---|---|---|
1 | Content-Type | - | 添付ファイルの種類に応じたMIMEタイプ※1が設定されます。 |
2 | charset | DataHandlerオブジェクト生成時に指定した文字コード※2が設定されます。 | |
3 | Content-Transfer-Encoding | なし | "binary"が設定されます。 |
4 | Content-Id | なし | "グローバルに一意な値"+"@"+"jaxws.cosminexus.com"が設定されます。 |
DataHandler dhandler = new DataHandler ("あいうえお", "text/plain; charset=Shift_JIS"); |
添付ファイルパートのMIMEボディには,添付ファイルの内容を表すバイナリデータが格納されます。
添付ファイルパートのMIMEヘッダとMIMEボディの境界文字列は,ルートパートの場合と同様に,境界文字列として"CRLF"が設定されます。
ルートパートと添付ファイルパート間,および添付ファイルパート間には,境界文字列として次の文字列が設定されます。
"CRLF"+"--"+"<HTTPヘッダのboundaryパラメタの値>" |
MIMEパートの終端には,終端文字列として次の文字列が設定されます。
"CRLF"+"--"+"<HTTPヘッダのboundaryパラメタの値>"+"--" |
HTTPヘッダとHTTPボディ間には,境界文字列として"CRLF"が設定されます。