メッセージング形態では,SOAPメッセージで添付できるファイルの種類に制限はありません。ここでは,添付ファイルのサイズおよび添付ファイルの個数の上限値を示します。また,添付ファイルに対応するMIMEタイプ,および添付ファイル使用時の注意事項について説明します。
添付できるファイルサイズは,デフォルトで100MB(104,857,600バイト)までです。この値は次に示す動作定義ファイルで変更できます。
なお,上限値を超える添付ファイルを送信しようとした場合,javax.xml.soap.SOAPConnectionクラスのcallメソッドの呼び出しで,javax.xml.soap.SOAPException例外が発生します。
添付できるファイル個数は,デフォルトで100個までです。この値は次に示す動作定義ファイルで変更できます。
なお,上限値を超える添付ファイルを送信しようとした場合,javax.xml.soap.SOAPConnectionクラスのcallメソッドの呼び出しで,javax.xml.soap.SOAPException例外が発生します。
添付したファイルに対応するMIMEタイプは,添付したファイルの拡張子によって決まります。次の表に,SOAP通信基盤が提供するインタフェース(AttachmentPartクラスのsetContentメソッド)で添付ファイルを設定した場合に,デフォルトで設定されるMIMEタイプを示します。なお,SOAP通信基盤が提供するインタフェース(AttachmentPartクラスのsetContentTypeメソッド)を利用することで,任意のMIMEタイプを設定できますが,その場合でも添付したファイルに対応したタイプを設定してください。
表5-1 添付ファイルの拡張子とMIMEタイプの対応(メッセージング)
添付ファイルとして設定したファイルの拡張子 | 設定されるMIMEタイプ |
---|---|
html,htm | text/html |
txt,text | text/plain |
gif,GIF | image/gif |
ief | image/ief |
jpeg,jpg,jpe,JPG | image/jpeg |
tiff,tif | image/tiff |
xwd | image/x-xwindowdump |
ai,eps,ps | application/postscript |
rtf | application/rtf |
tex | application/x-tex |
texinfo,texi | application/x-texinfo |
t,tr,roff | application/x-troff |
au | audio/basic |
midi,mid | audio/midi |
aifc | audio/x-aifc |
aif,aiff | audio/x-aiff |
wav | audio/x-wav |
mpeg,mpg,mpe | video/mpeg |
qt,mov | video/quicktime |
avi | video/x-msvideo |
この表にない拡張子のファイルを設定した場合,MIMEタイプは「application/octet-stream」となります。
SOAP通信基盤では,テキストベースの添付ファイルの文字コードと改行コードを意識しないで,そのままSOAPメッセージを転送します。SOAPアプリケーション間で文字コードや改行コードの情報を受け渡したい場合は,MIMEヘッダのユーザ定義フィールド(「X-」で始まる定義フィールド)に,受け渡すコードの情報を設定してください。
SOAP通信基盤で設定されるMIMEヘッダ値は,RFC822に従って,すべてUS-ASCIIとして扱います。US-ASCII以外の文字列をMIMEヘッダ内に指定する場合,RFC2047に準拠したMIMEヘッダのエンコーディングやデコーディングをSOAPアプリケーション側で実装する必要があります。