28.2 添付ファイルのJavaインタフェース(wsi:swaRef形式)

ここでは,Javaインタフェース内で添付ファイルを指定するJava型について説明します。

<この節の構成>
(1) 添付ファイルに使用できるJava型
(2) 添付ファイルを指定できる個所
(3) javax.activation.DataHandler型に指定できる添付ファイル

(1) 添付ファイルに使用できるJava型

Javaインタフェースでの添付ファイルのJava型の使用可否を次の表に示します。

添付ファイルに使用できるJava型には,javax.xml.bind.annotation.XmlAttachmentRefアノテーションを付加する必要があります。添付ファイルに使用できない型にこのアノテーションを付加した場合,動作は保証されません。

表28-1 添付ファイルとしてのJava型の使用可否

項番Java型使用可否
1javax.activation.DataHandler
2javax.xml.ws.Holder<DataHandler>
3javax.activation.DataHandlerの配列型
4javax.xml.ws.Holder<DataHandler>の配列型×
5javax.activation.DataHandlerを継承したデータ型×
(凡例)
○:添付ファイルとして使用できます。
△:添付ファイルとして1次元配列だけ使用できます。多次元配列を使用した場合,動作は保証されません。
×:添付ファイルとして使用できません。

(2) 添付ファイルを指定できる個所

添付ファイルは,Javaインタフェースのメソッド引数,メソッド戻り値,およびユーザ定義型のフィールドで指定できます。ユーザ定義例外では指定できません。

Javaインタフェース内での添付ファイルの指定個所と,Java型の指定可否を次の表に示します。

表28-2 添付ファイルのJava型の指定個所と指定可否

項番Javaインタフェースでの指定個所添付ファイルのJava型指定可否
1メソッド引数javax.activation.DataHandler
2javax.xml.ws.Holder<DataHandler>
3javax.activation.DataHandlerの配列型
4メソッド戻り値javax.activation.DataHandler
5javax.xml.ws.Holder<DataHandler>×
6javax.activation.DataHandlerの配列型
7ユーザ定義型のフィールドjavax.activation.DataHandler
8javax.xml.ws.Holder<DataHandler>×
9javax.activation.DataHandlerの配列型
10ユーザ定義例外のフィールドjavax.activation.DataHandler×
11javax.xml.ws.Holder<DataHandler>×
12javax.activation.DataHandlerの配列型×
(凡例)
○:指定できます。
△:1次元配列を使用する場合だけ指定できます。多次元配列で指定した場合,動作は保証されません。
×:指定できません。

(3) javax.activation.DataHandler型に指定できる添付ファイル

javax.activation.DataHandler型は,JavaBeans Activation Framework(JAF)の型であるため,任意のMIMEタイプの添付ファイルを指定できます。添付ファイルの拡張子と,デフォルトで設定されるMIMEタイプのマッピングについては,「28.4.2(3) 添付ファイルの拡張子とMIMEタイプのマッピング」を参照してください。