本文へジャンプ

WAS V6のHTTPトランスポート・チャネルの書き込みタイムアウト設定における注意事項 (WAS-07-002)

WAS V6にて、OutputStreamを使用してクライアントからファイルのダウンロードを行う場合、Internet Explorerにてファイルの保管先を特定の時間以内に確定しない場合、ファイルのダウンロードに失敗する場合があります。その内容と対応方法について解説します。

内容/目次

更新ログ

(2007/02/15 08:29) 問合せ先を追記
【概要】
WebSphere Application Server (以下、WAS) V6にて、OutputStreamを使用して(注1)クライアントからファイルのダウンロードを行う場合、Internet Explorer (以下、IE)にてファイルの保管先を特定の時間以内に確定しない場合、ファイルのダウンロードに失敗する(注2)場合があります。
特定の時間とは、WASのWebコンテナー・トランスポート・チェーンのHTTPトランスポート・チャネルに対する「書き込みタイムアウト」にて設定された値になります。(デフォルト60秒)

(注1)WASが提供するファイル・サービスを使用したファイルのダウンロードも含まれます。

(注2)不完全なファイルがダウンロードされる、ブラウザーにエラーが表示されるといった現象が発生します。

【対象】
WebSphere Application Server V6.0, V6.1 (特に以前のバージョンからWAS V6へ移行される場合、ご注意ください。)

【原因】
WAS V6からチャネル・フレームワークが採用され、HTTPトランスポート・チャネルに対して「書き込みタイムアウト」と「読み込みタイムアウト」の設定が可能になりました。
IEでは(注3)、ダウンロードするファイルの保管先の確定を行うまではデータの受信が開始されないため、TCPのバッファーとWASの書き込みバッファーが共に一杯になり、HTTPトランスポート・チャネルの書き込みタイムアウトに達した時点でエラーとなります。

(注3)Firefoxでは、保管先を確定する前であってもレスポンス・データの受信を開始するため、この問題は発生しません。

HTTPトランスポートに対するWAS V4での「出入力タイムアウト」設定、およびWAS V5での「ConnectionIOTimeout」設定(カスタム・プロパティーにて指定)では、読み込みに対してのみタイムアウトが有効であり、書き込みに対してはタイムアウトの影響を受けていませんでした。
またWASV4, V5でのこれらのタイムアウトのデフォルト値は5秒となっています。

WAS V6への移行において「書き込みタイムアウト」の設定値をWAS V4, V5と同様に小さく設定した場合には、V4, V5では問題とならないアプリケーションでも、V6ではダウンロードに失敗する可能性があります。

【対応方法】
WAS V6のHTTPトランスポート・チャネルの「書き込みタイムアウト」(デフォルト60秒)を十分な値に設定します。

【補足】
検証の結果、ダウンロードするファイルのサイズが、Webコンテナー・インバウンド・チャネルの「書き込みバッファーサイズ」(デフォルト32,768バイト)に指定された値よりも小さい場合には、この問題は発生しないことを確認しています。

【当問題のお問合せ先】
PAテクニカルサポート総合窓口
(有効なメンテナンス契約IBM番号をお持ちのお客様)
電話: 0120-557-971
受付時間: 月~金 9:00~17:00(祝日、12/30~1/3を除く)

文書情報

有効期限: 2012年1月19日
資料番号: WAS-07-002

WebSphere software

Webカタログ

製品の機能や稼働OS、参考料金をご紹介