32.3 一時ファイル(ストリーミング)

ストリーミングを使用しているときに添付ファイルを含むMIME Multipart/Related構造のSOAPメッセージを受信する場合,SOAPメッセージに含まれるMIMEボディをメモリ上ではなく,一時ファイルに出力する場合があります。SOAPメッセージに含まれるMIMEボディをメモリ上に展開するか,一時ファイルに出力するかは,parseEagerlyに指定した値,MIMEパートの種類,およびMIMEボディのサイズによって決まります。

SOAPメッセージに含まれるMIMEボディの出力先を次の表に示します。

表32-2 SOAPメッセージに含まれるMIMEボディの出力先

項番MIMEパートの種類parseEagerlyに指定した値しきい値とMIMEボディサイズの関係MIMEボディの出力先
1ルートパートしきい値≦MIMEボディのサイズメモリ上に展開しないで,一時ファイルに出力します。
2しきい値>MIMEボディのサイズ一時ファイルに出力しないで,メモリ上に展開します。
3添付ファイルパートtrueしきい値≦MIMEボディのサイズメモリ上に展開しないで,一時ファイルに出力します。
4しきい値>MIMEボディのサイズ一時ファイルに出力しないで,メモリ上に展開します。
5falseなし一時ファイルにも出力しないで,メモリ上にも展開しません。
(凡例)
-:指定した値はMIMEボディの出力先に影響しません。
注※
しきい値とは,com.sun.xml.ws.developer.StreamingAttachmentアノテーションのmemoryThreshold要素値またはcom.sun.xml.ws.developer.StreamingAttachmentFeatureクラスのmemoryThreshold値です。

SOAPメッセージに含まれるMIMEボディを一時ファイルに出力するかどうかは,各MIMEパートにあるMIMEボディについて判定して決定します。受信する添付ファイルを含むMIME Multipart/Related構造のSOAPメッセージに,ルートパートが一つ,添付ファイルパートが二つ存在する場合,一時ファイルを出力するかどうかの判定は3回実行します。

<この節の構成>
32.3.1 命名規則
32.3.2 出力と削除
32.3.3 見積もり方法