Cosminexus V9 アプリケーションサーバ SOAPアプリケーション開発の手引

[目次][用語][索引][前へ][次へ]

5.2.1 添付できるファイル

メッセージング形態では,SOAPメッセージで添付できるファイルの種類に制限はありません。ここでは,添付ファイルのサイズおよび添付ファイルの個数の上限値を示します。また,添付ファイルに対応するMIMEタイプ,および添付ファイル使用時の注意事項について説明します。

<この項の構成>
(1) 添付ファイルのサイズの上限値
(2) 添付ファイルの個数の上限値
(3) 添付ファイルに対応するMIMEタイプ
(4) 添付ファイルの文字コードと改行コード
(5) MIMEヘッダの扱い

(1) 添付ファイルのサイズの上限値

添付できるファイルサイズは,デフォルトで100MB(104,857,600バイト)までです。この値は次に示す動作定義ファイルで変更できます。

サーバ定義ファイル
  • c4web.attachment.<識別子>.send_max_attachment_size
  • c4web.attachment.<識別子>.receive_max_attachment_size

クライアント定義ファイル
  • c4web.attachment.send_max_attachment_size
  • c4web.attachment.receive_max_attachment_size

なお,上限値を超える添付ファイルを送信しようとした場合,javax.xml.soap.SOAPConnectionクラスのcallメソッドの呼び出しで,javax.xml.soap.SOAPException例外が発生します。

(2) 添付ファイルの個数の上限値

添付できるファイル個数は,デフォルトで100個までです。この値は次に示す動作定義ファイルで変更できます。

サーバ定義ファイル
  • c4web.attachment.<識別子>.send_max_attachment_count
  • c4web.attachment.<識別子>.receive_max_attachment_count

クライアント定義ファイル
  • c4web.attachment.send_max_attachment_count
  • c4web.attachment.receive_max_attachment_count

なお,上限値を超える添付ファイルを送信しようとした場合,javax.xml.soap.SOAPConnectionクラスのcallメソッドの呼び出しで,javax.xml.soap.SOAPException例外が発生します。

(3) 添付ファイルに対応するMIMEタイプ

添付したファイルに対応する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」となります。

(4) 添付ファイルの文字コードと改行コード

SOAP通信基盤では,テキストベースの添付ファイルの文字コードと改行コードを意識しないで,そのままSOAPメッセージを転送します。SOAPアプリケーション間で文字コードや改行コードの情報を受け渡したい場合は,MIMEヘッダのユーザ定義フィールド(「X-」で始まる定義フィールド)に,受け渡すコードの情報を設定してください。

(5) MIMEヘッダの扱い

SOAP通信基盤で設定されるMIMEヘッダ値は,RFC822に従って,すべてUS-ASCIIとして扱います。US-ASCII以外の文字列をMIMEヘッダ内に指定する場合,RFC2047に準拠したMIMEヘッダのエンコーディングやデコーディングをSOAPアプリケーション側で実装する必要があります。