Last week, we had the author of TDD for a Shopping Website LiveProject. Friday at 11am Ranch time, Steven Solomon will be hosting a live TDD session just for us. See for the agenda and registration link
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 188.8.131.52] (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 184.108.40.206] 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.
Sometimes the only way things ever got fixed is because people became uncomfortable.