Hitachi

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


5.2.1 添付できるファイル

メッセージング形態では,SOAPメッセージで添付できるファイルの種類に制限はありません。ここでは,添付ファイルのサイズおよび添付ファイルの個数の上限値を示します。また,添付ファイルに対応する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アプリケーション側で実装する必要があります。