28.4.1 添付ファイルからSOAPメッセージへのマッピング(wsi:swaRef形式)
添付ファイルからSOAPメッセージへマッピングするときの設定値について説明します。マッピング規則については,「28.4.2 添付ファイルからSOAPメッセージへのマッピングの注意事項(wsi:swaRef形式)」と合わせて確認してください。
(1) HTTPヘッダ
添付ファイル使用時に,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"が設定されます。
(2) HTTPボディ
HTTPボディは,ルートパート,添付ファイルパート,および各パートの境界文字列で構成されます。添付ファイル使用時に,各パートおよび境界文字列に生成される内容,および設定される値を示します。
(a) ルートパートのMIMEヘッダ
添付ファイル使用時に,ルートパートのContent-Typeフィールドに設定される値を次の表に示します。
項番 |
フィールド名 |
設定値 |
---|---|---|
1 |
Content-Type |
|
2 |
Content-Id |
"グローバルに一意な値"+"@"+"jaxws.cosminexus.com"が設定されます。 |
(b) ルートパートのMIMEボディ
添付ファイルを使用する場合,ルートパートのMIMEボディには,SOAPエンベロープがそのまま格納されます。SOAPエンベロープ内のSOAPボディから添付ファイルを参照する方法として,CID URLスキームが使用されます。
"cid:"+<添付ファイルパートのContent-Id>
(d) 添付ファイルパートのMIMEヘッダ
添付ファイル使用時に,添付ファイルパートのMIMEヘッダに設定される値を次の表に示します。
項番 |
フィールド名 |
パラメタ名 |
設定値 |
---|---|---|---|
1 |
Content-Type |
− |
添付ファイルの種類に応じたMIMEタイプ※1が設定されます。 |
2 |
charset |
DataHandlerオブジェクト生成時に指定した文字コード※2が設定されます。 |
|
3 |
Content-Transfer-Encoding |
なし |
"binary"が設定されます。 |
4 |
Content-Id |
なし |
"グローバルに一意な値"+"@"+"jaxws.cosminexus.com"が設定されます。 |
- 注※1
-
Content-Typeフィールドの設定値は,DataHandlerオブジェクトの生成方法によって,次のように異なります。
-
DataHandler(DataSource)コンストラクタで生成する場合
FileDataSourceの場合,入力となる添付ファイルの拡張子から,JAFによって決定されたMIMEタイプがContent-Typeフィールド値として設定されます。添付ファイルの拡張子とMIMEタイプのマッピングについては,「28.4.2(3) 添付ファイルの拡張子とMIMEタイプのマッピング」を参照してください。
-
DataHandler(Object, String)コンストラクタで生成する場合
DataHandlerオブジェクト生成時に,コンストラクタの第2引数に指定した内容(MIMEタイプ)がそのままContent-Typeフィールド値として設定されます。
-
- 注※2
-
例えば,DataHandlerオブジェクトの生成を次のように生成した場合,Content-Typeのcharsetには,第2引数に指定したcharsetパラメタ値「Shift_JIS」が設定されます。
DataHandler dhandler = new DataHandler ("あいうえお", "text/plain; charset=Shift_JIS");
添付ファイルのJava型であるjavax.activation.DataHandler型は,JavaBeans Activation Framework(JAF)の型であるため,任意のMIMEタイプの添付ファイルを指定できます。FileDataSourceを使用してDataHandlerオブジェクトを生成する場合の添付ファイルの拡張子と,デフォルトで設定されるMIMEタイプの対応については,「28.4.2(3) 添付ファイルの拡張子とMIMEタイプのマッピング」を参照してください。
(f) 添付ファイルパートのMIMEヘッダとMIMEボディの境界文字列
添付ファイルパートのMIMEヘッダとMIMEボディの境界文字列は,ルートパートの場合と同様に,境界文字列として"CRLF"が設定されます。