When exporting large files from the Web Player, the resulting file can be incomplete without any apparent error messages

When exporting large files from the Web Player, the resulting file can be incomplete without any apparent error messages

book

Article ID: KB0083889

calendar_today

Updated On:

Products Versions
Spotfire Web Player 7.0 or lower

Description

Note: This article covers Spotfire version 7.0 and lower. If you experience the same problem in Spotfire version 7.5 or higher, see article https://support.tibco.com/s/article/ka11a000000HnfuAAC (article number 000029117). 

Description:
Exporting large data sets or downloading large files from the Web Player can result in a timeout which leaves the downloaded data set or file corrupted or incomplete. No error messages will be seen and the file being downloaded will report a successful download.
 
Symptoms:
A Web Player administrator will be able to see an error in the Web Player log:
 
ERROR 2014-06-17 13:56:29,289 [13, (null)] Spotfire.Dxp.Web.Forms.Global - Application error:
 Sender:
 ASP.global_asax
 QueryString:
 waid=b069875047ee61de65205-1713473509a20f&nid=id20&args=ExportFormatted

System.Web.HttpException (0x80004005): Request timed out.

Cause:
ASP.NET uses the following configuration setting to limit the request execution time: <httpRuntime executionTimeout="110"/>.  This is set to 110 seconds by default. If the download of data or files takes longer than 110 seconds, the Web Player will close the connection. The web browser will assume that the file has finished downloading and will not show any error messages.

Issue/Introduction

When exporting large files from the Web Player, the resulting file can be incomplete without any apparent error messages

Environment

Spotfire Web Player version 7.0 or lower

Resolution

1. Open web.config in a text editor. The file is located in "<web player install dir>\webroot\web.config".
2. Find the FIRST appearance of the <system.web> section.
3. Search for the "httpRuntime" tag under the FIRST appearance of the <system.web> section.

-- If no "httpRuntime" tag exists under the FIRST appearance of the <system.web> section, then add <httpRuntime executionTimeout="3600" /> just beneath <system.web> so that it looks like this:

<system.web>
<httpRuntime executionTimeout="3600" />

-- If a "httpRuntime" tag does exist under the FIRST appearance of the <system.web> section, then add executionTimeout="3600" to the tag so it looks something like this:

<httpRuntime targetFramework="4.5"
executionTimeout="3600"/>

4. Restart IIS.

Note: The value of executionTimeout is set in seconds, so setting it to 3600 means the execution timeout is set to 1 hour.

Additional Information

http://msdn.microsoft.com/en-us/library/vstudio/e1f13641%28v=vs.100%29.aspx