添付ファイルからSOAPメッセージをマッピングするときの注意事項について説明します。
MIMEパートは1個のルートパートと0個以上の添付ファイルパートで構成されます。
ルートパートは,MIMEパートの先頭に記述されます。ルートパートのあとに,添付ファイルパートが記述されます。
添付ファイルパートでは,Javaインタフェースで指定された引数や戻り値がマッピングされます。Javaインタフェースの指定内容と添付ファイルパートでの記述順序の対応を次の表に示します。
表30-9 Javaインタフェースの指定内容と添付ファイルパートの記述順序
項番 | Javaインタフェースでの指定内容 | 添付ファイルパートの記述順序 |
---|---|---|
1 | メソッド引数 | メソッド引数に指定された順に記述されます。 |
2 | メソッド戻り値 | 添付ファイルパートの先頭に記述されます。 |
3 | 配列型 | 配列内の要素順に記述されます。 |
4 | ユーザ定義型 | ユーザ定義型内での指定順に記述されます。 ユーザ定義型の中で指定したユーザ定義型で,添付ファイルのJava型を指定するときは,深さ優先順で添付ファイルパートが記述されます。 |
Javaインタフェースと添付ファイルパートのマッピング例を示します。
図30-3 Javaインタフェースと添付ファイルパートのマッピング例
MTOM/XOP仕様形式の添付ファイルの場合,ルートパートから添付ファイルパートへのマッピングにはXOP仕様で定められたXOP情報セットが使用されます。XOP情報セットがルートパートのSOAPボディに記述され,対応する添付ファイルパートのContent-Idが設定されます。Content-Idによって,ルートパートから対応する添付ファイルパートを参照できます。ルートパートから添付ファイルパートの参照例を次に示します。太字部分がCID URLスキームと,対応する添付ファイルパートのContent-Idになります。
-uuid:e63fe7dc-ad8a-4fb1-8f56-ce7b5841a06f |
ルートパートのSOAPボディに記述されるXOP情報セットの形式を次に示します。
"<xop: Include href=" + <CID URLスキーム> + "/>" |
MTOM/XOP仕様形式の添付ファイルは,マッピング元であるJava型とJavaインタフェースに指定する添付ファイルのデータサイズによって,添付ファイルパートへのマッピング方法が異なります。マッピング方法を次の表に示します。
表30-10 MTOM/XOP仕様形式の添付ファイルのデータサイズによる添付ファイルパートへのマッピング
項番 | Java型 | 添付ファイルのデータサイズ | 添付ファイルパートへのマッピング |
---|---|---|---|
1 | byte[] | null | マッピングしない※1 |
2 | 0バイトのデータ | マッピングする※2 | |
3 | 0バイトより多いバイト数のデータ | マッピングする※3 | |
4 | java.awt.Image型 | null | マッピングしない※1 |
5 | 0バイトのデータ | マッピングしない※1 | |
6 | 0バイトより多いバイト数のデータ | マッピングする※3 | |
7 | javax.xml.transform.Source型 | null | マッピングしない※1 |
8 | 0バイトのデータ | マッピングする※2 | |
9 | 0バイトより多いバイト数のデータ | マッピングする※3 | |
10 | javax.activation.DataHandler型 | null | マッピングしない※1 |
11 | 0バイトのデータ | マッピングする※2 | |
12 | 0バイトより多いバイト数のデータ | マッピングする※3 |
... |
--uuid:cbc0221b-8ee3-40a3-adc1-d5fa52a8d66e |