Kbase P11297: Client hangs after receiving data from AIA and AppServer when using Tomcat
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  09/12/2004 |
|
Status: Verified
FACT(s) (Environment):
Tomcat
Progress 9.1C
Progress 9.1D
SYMPTOM(s):
Client hangs when receiving data from AIA server
When the connectionTimeout parameter is set a value in Tomcat server.xml the client will hang
When the connectionTimeout parameter is disabled the client encounters the (9407) error.
Connection failure for host <hostname> port 80 transport HTTP. (9407)
The problem occur when receiving more then 8k of data across the AIA
CAUSE:
Bug# 20021022-023
CAUSE:
A problem in the way the 4GL client reads a chunked response. The Coyote Connector is using the HTTP header Transfer-encoding type of chunked.
FIX:
Upgrade to 9.1D05 or later.
To workaround this problem perform the following:
Tomcat's Server.xml file can be modified to use the HTTP 1.1 Connector instead of the default Coyote Connector. This is a potential security risk, that requires the Tomcat server and Apache server to implement security against any malicious attacks. To Change the Tomcat JSE to use the HTTP 1.1 Connector instead of the Coyote Connector perform the following steps:
1.) Shutdown the Tomcat.
2.) Comment out the CoyoteConnect in the TOMCAT_HOME/Conf/Server.xml file.
For Example: The following section should be commented out:
<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->
<!-- Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8080" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="20000"
useURIValidationHack="false" disableUploadTimeout="true" -->
3.) Uncomment the HTTP 1.1 Connector and add the allowChuncking parameter.
(This turns off the chunked HTTP response). Ensure to Modify the port setting to use the correct port.
For Example the HTTPConnector line should look similar to:
<Connector className="org.apache.catalina.connector.http.HttpConnector"
port="8080" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
allowChunking="false"
acceptCount="10" debug="0"
connectionTimeout="60000"/>
4.)Restart the TOMCAT server.