Consultor Eletrônico



Kbase P12011: Error (9407) when using TOMCAT JSE with Chuncked responses.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   12/10/2004
Status: Verified

FACT(s) (Environment):

Tomcat

SYMPTOM(s):

Apache

Webclient application accesses AIA through Tomcat 4.x.

Encounters error when repeatedly launching the login screen or accessing the database via the webclient application.

Connection failure for host <host_name> port <port> transport <transport_name>. (9407)

Connection failure for host <host_name> port <port> transport HTTP (9407)

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:

To get around this problem a workaround is applied.

Tomcat's Server.xml file can be modified to use the HTTP 1.1 Connector instead of the default Coyote Connector.

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 similiar 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.