We are using Tomcat 5.5.2 server for web services execution, its time-out is set to 120(seconds).
We can't change that timeout value as it is used by other projects aswell.
My application is getting large amount(3 to 4 MB) of data as response to webservice call, to generate jasper report(excel file).
When response data is not large its working fine, but for large response its giving the problem below.
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request
Reason: Error reading from remote server.
HTTP Status 500 -
We also observed the following entries from server log.
[Thu Dec 23 11:37:38 2010] [error] [client 18.104.22.168] (70007)The timeout specified has expired: proxy: error reading status line from remote server tnld03718.np.ge.com, referer: < applurl >...
[Thu Dec 23 11:37:38 2010] [error] [client 22.214.171.124] proxy: Error reading from remote server returned by /ibas/ajax-servlet/export-xls-spares-list.do, referer: < applurl >...
Well, it sounds as though you're attempting to transport 1000kg of fertiliser in a 500kg lorry. Apparently someone thinks the laws of physics are optional.
I doubt that there's much that you can do to Tomcat to remedy your problem, since most likely the real delays are in the speed of the back-end logic to construct such large files and in the linear time required to transmit the results to the client.
Your best bet is probably to run a second instance of Tomcat with a longer timeout and place the offending webapp there.
An IDE is no substitute for an Intelligent Developer.
Joined: Dec 07, 2006
Thanks for your reply.
But client is not intrested to increase the timeout value in any instance of Tomcat server.