You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by bu...@apache.org on 2005/11/17 22:20:48 UTC

DO NOT REPLY [Bug 37550] New: - Fail to receive response when posting using HTTP/1.1 to a HTTP/1.0 proxy

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=37550>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=37550

           Summary: Fail to receive response when posting using HTTP/1.1 to
                    a HTTP/1.0 proxy
           Product: HttpClient
           Version: 3.0 RC2
          Platform: Other
        OS/Version: other
            Status: NEW
          Severity: normal
          Priority: P2
         Component: HttpClient
        AssignedTo: httpclient-dev@jakarta.apache.org
        ReportedBy: manningr@spamcop.net


Setup:

HttpClient 3.0rc4 (from Applet in Sun JVM 1.5.0_04 on WinXP SP2)
Squid 2.5 proxy (running on RH-EL host pikesville:8080)
Server (WebLogic 8.1 SP4 Serving Applet running on host robspc:9081)

Sequence:

The applet sends a POST request via the proxy to the server but the socket is
closed on the client before the response can be read.  The POST has
transfer-encoding "chunked" which the proxy obviously doesn't support (it only
speaks HTTP/1.0). The Squid access.log it reports:

1132261394.377    121 10.1.1.51 TCP_DENIED/501 1409 POST
http://robspc:9081/csuite/api/loginCmd.do - NONE/- text/html

501 = unsupported protocol/operation, which is what I would expect to receive
as a response on the client connection.

However, the log for HttpClient says that the connection was closed just after
the request body was sent. Then mysteriously the response is being read after
the connection was returned to the connection manager.  See the following log:

11/17/2005 16:05:05 [DEBUG] PluginProxyUtil - About to attempt auto proxy
detection under Java version:1.5.0_04-b05
11/17/2005 16:05:05 [DEBUG] PluginProxyUtil - Using failover proxy detection...
11/17/2005 16:05:05 [DEBUG] PluginProxyUtil - Plugin Proxy Config List
Property:http=pikesville.collabraspace.com:8080
11/17/2005 16:05:05 [DEBUG] PluginProxyUtil - proxy PIKESVILLE.COLLABRASPACE.COM
port 8080
11/17/2005 16:05:05 [DEBUG] CollaborationMain - Detected proxy configured for
URL=http://robspc:9081/csuite/api/ACTION
11/17/2005 16:05:05 [DEBUG] CollaborationMain - proxy
hostname=PIKESVILLE.COLLABRASPACE.COM
11/17/2005 16:05:05 [DEBUG] CollaborationMain - proxy port=8080
11/17/2005 16:05:05 [DEBUG] DefaultHttpParams - Set parameter http.useragent =
Jakarta Commons-HttpClient/3.0-rc4
11/17/2005 16:05:05 [DEBUG] DefaultHttpParams - Set parameter
http.protocol.version = HTTP/1.1
11/17/2005 16:05:05 [DEBUG] DefaultHttpParams - Set parameter
http.connection-manager.class = class
org.apache.commons.httpclient.SimpleHttpConnectionManager
11/17/2005 16:05:05 [DEBUG] DefaultHttpParams - Set parameter
http.protocol.cookie-policy = rfc2109
11/17/2005 16:05:05 [DEBUG] DefaultHttpParams - Set parameter
http.protocol.element-charset = US-ASCII
11/17/2005 16:05:05 [DEBUG] DefaultHttpParams - Set parameter
http.protocol.content-charset = ISO-8859-1
11/17/2005 16:05:05 [DEBUG] DefaultHttpParams - Set parameter
http.method.retry-handler =
org.apache.commons.httpclient.DefaultHttpMethodRetryHandler@e63606
11/17/2005 16:05:05 [DEBUG] DefaultHttpParams - Set parameter
http.dateparser.patterns = [EEE, dd MMM yyyy HH:mm:ss zzz, EEEE, dd-MMM-yy
HH:mm:ss zzz, EEE MMM d HH:mm:ss yyyy, EEE, dd-MMM-yyyy HH:mm:ss z, EEE,
dd-MMM-yyyy HH-mm-ss z, EEE, dd MMM yy HH:mm:ss z, EEE dd-MMM-yyyy HH:mm:ss z,
EEE dd MMM yyyy HH:mm:ss z, EEE dd-MMM-yyyy HH-mm-ss z, EEE dd-MMM-yy HH:mm:ss
z, EEE dd MMM yy HH:mm:ss z, EEE,dd-MMM-yy HH:mm:ss z, EEE,dd-MMM-yyyy HH:mm:ss
z, EEE, dd-MM-yyyy HH:mm:ss z]
11/17/2005 16:05:05 [DEBUG] HttpClient - Java version: 1.5.0_04
11/17/2005 16:05:05 [DEBUG] HttpClient - Java vendor: Sun Microsystems Inc.
11/17/2005 16:05:05 [DEBUG] HttpClient - Java class path:
C:\PROGRA~1\Java\JRE15~1.0_0\classes;C:\Docume~1\robert\.collabraspace\libloader.jar;C:\Docume~1\robert\.collabraspace\jniregistry.jar;C:\Docume~1\robert\.collabraspace\JMF-2.1.1e\lib\;C:\Docume~1\robert\.collabraspace\JMF-2.1.1e\lib\jmf.jar;C:\Docume~1\robert\.collabraspace\JMF-2.1.1e\lib\sound.jar

11/17/2005 16:05:05 [DEBUG] HttpClient - Operating system name: Windows XP
11/17/2005 16:05:05 [DEBUG] HttpClient - Operating system architecture: x86
11/17/2005 16:05:05 [DEBUG] HttpClient - Operating system version: 5.1
11/17/2005 16:05:05 [DEBUG] HttpClient - SUN 1.5: SUN (DSA key/parameter
generation; DSA signing; SHA-1, MD5 digests; SecureRandom; X.509 certificates;
JKS keystore; PKIX CertPathValidator; PKIX CertPathBuilder; LDAP, Collection
CertStores)
11/17/2005 16:05:05 [DEBUG] HttpClient - SunRsaSign 1.5: Sun RSA signature provider
11/17/2005 16:05:05 [DEBUG] HttpClient - SunJSSE 1.5: Sun JSSE provider(PKCS12,
SunX509 key/trust factories, SSLv3, TLSv1)
11/17/2005 16:05:05 [DEBUG] HttpClient - SunJCE 1.5: SunJCE Provider (implements
RSA, DES, Triple DES, AES, Blowfish, ARCFOUR, RC2, PBE, Diffie-Hellman, HMAC)
11/17/2005 16:05:05 [DEBUG] HttpClient - SunJGSS 1.0: Sun (Kerberos v5)
11/17/2005 16:05:05 [DEBUG] HttpClient - SunSASL 1.5: Sun SASL
provider(implements client mechanisms for: DIGEST-MD5, GSSAPI, EXTERNAL, PLAIN,
CRAM-MD5; server mechanisms for: DIGEST-MD5, GSSAPI, CRAM-MD5)
11/17/2005 16:05:05 [DEBUG] CSConnection - prefix=http://robspc:9081/csuite/api/
suffix=
11/17/2005 16:05:05 [DEBUG] CSConnection - Create CSConnection;
baseServerURL=http://robspc:9081/csuite/api/ACTION headers=Authorization=Basic
dGVzdFVzZXIxOnBhc3N3b3Jk|Cookie=JSESSIONID=D8w9CSnFF5MRW2JzJ5Q6YzskNhPmqzkJWg7yJ4nC7nkHWhRqvSvW!-369620653
11/17/2005 16:05:05 [DEBUG] DefaultHttpParams - Set parameter
http.socket.sendbuffer = 8192
11/17/2005 16:05:05 [DEBUG] DefaultHttpParams - Set parameter
http.socket.receivebuffer = 8192
11/17/2005 16:05:05 [DEBUG] DefaultHttpParams - Set parameter
http.connection-manager.max-per-host = {HostConfiguration[]=5}
11/17/2005 16:05:05 [DEBUG] DefaultHttpParams - Set parameter
http.authentication.credential-provider =
com.collabraspace.cserver.client.CSCredentialsProvider@b5ad68
11/17/2005 16:05:05 [DEBUG] CSConnection - sendCommand: adding header to
request: key=Authorization value=Basic dGVzdFVzZXIxOnBhc3N3b3Jk
11/17/2005 16:05:05 [DEBUG] CSConnection - sendCommand: adding header to
request: key=Cookie
value=JSESSIONID=D8w9CSnFF5MRW2JzJ5Q6YzskNhPmqzkJWg7yJ4nC7nkHWhRqvSvW!-369620653
11/17/2005 16:05:05 [DEBUG] MultiThreadedHttpConnectionManager -
HttpConnectionManager.getConnection:  config =
HostConfiguration[host=http://robspc:9081,
proxyHost=http://PIKESVILLE.COLLABRASPACE.COM:8080], timeout = 0
11/17/2005 16:05:05 [DEBUG] MultiThreadedHttpConnectionManager - Allocating new
connection, hostConfig=HostConfiguration[host=http://robspc:9081,
proxyHost=http://PIKESVILLE.COLLABRASPACE.COM:8080]
11/17/2005 16:05:06 [DEBUG] HttpConnection - Open connection to
PIKESVILLE.COLLABRASPACE.COM:8080
11/17/2005 16:05:06 [DEBUG] header - >> "POST
http://robspc:9081/csuite/api/loginCmd.do HTTP/1.1[\r][\n]"
11/17/2005 16:05:06 [DEBUG] HttpMethodBase - Adding Host request header
11/17/2005 16:05:06 [DEBUG] header - >> "Authorization: Basic
dGVzdFVzZXIxOnBhc3N3b3Jk[\r][\n]"
11/17/2005 16:05:06 [DEBUG] header - >> "Cookie:
JSESSIONID=D8w9CSnFF5MRW2JzJ5Q6YzskNhPmqzkJWg7yJ4nC7nkHWhRqvSvW!-369620653[\r][\n]"
11/17/2005 16:05:06 [DEBUG] header - >> "Content-Type:
application/x-java-serialized-object-gz[\r][\n]"
11/17/2005 16:05:06 [DEBUG] header - >> "User-Agent: Jakarta
Commons-HttpClient/3.0-rc4[\r][\n]"
11/17/2005 16:05:06 [DEBUG] header - >> "Host: robspc:9081[\r][\n]"
11/17/2005 16:05:06 [DEBUG] header - >> "Proxy-Connection: Keep-Alive[\r][\n]"
11/17/2005 16:05:06 [DEBUG] header - >> "Transfer-Encoding: chunked[\r][\n]"
11/17/2005 16:05:06 [DEBUG] header - >> "[\r][\n]"
11/17/2005 16:05:06 [DEBUG] content - >> "aa[\r][\n]"
11/17/2005 16:05:06 [DEBUG] content - >>
"[0x1f][0x8b][0x8][0x0][0x0][0x0][0x0][0x0][0x0][0x0][[0xf3][0x96][0x81][0xb5][0xb8][0x88]A?9?W/9?''1[0xa9]([0xb1][0xb8]
19U/[0xb9]8[0xb5][0xa8],[0xb5]H/9'35[0xaf]D[0xcf]9?771/%([0xb5][0xb0]4[0xb5][0xb8][0xa4][0xef]H[0xd9]][0xb6][u[0xd5]L[0xc][0x8c]>[0xc]\[0x5][0x89]E[0x89][0xb9][0xa9]%[0xa9]E[0xc5]%[0xc][0xa2]>Y[0x89]e[0x89][0xfa][0xa5]%[0x99]9[0xfa][0x8e]EE[0x89][0x95]>[0x99][0xc5]%[0xd6][0x15][0x5]@K[0x84]A2z
[0x19]=[0xb8]LE[0xe3]%[0xd9][0x99][0xc7][0x13][0xe7]230z2[0xb0][0x14]gV[0xa5]V[0x14]0000[0x96][0xb3][0x80][0xc8][0x12][0x6][0xa6]d[0xc3][\n]"
11/17/2005 16:05:06 [DEBUG] content - >> "[0x0]yy[0xb8][0xa1][0xa4][0x0][0x0][0x0]"
11/17/2005 16:05:06 [DEBUG] content - >> "[\r][\n]"
11/17/2005 16:05:06 [DEBUG] content - >> "0"
11/17/2005 16:05:06 [DEBUG] content - >> "[\r][\n]"
11/17/2005 16:05:06 [DEBUG] content - >> "[\r][\n]"
11/17/2005 16:05:06 [DEBUG] EntityEnclosingMethod - Request body sent
11/17/2005 16:05:06 [DEBUG] HttpMethodDirector - Closing the connection.
11/17/2005 16:05:06 [DEBUG] HttpMethodDirector - Method retry handler returned
false. Automatic recovery will not be attempted
11/17/2005 16:05:06 [DEBUG] HttpConnection - Releasing connection back to
connection manager.
11/17/2005 16:05:06 [DEBUG] MultiThreadedHttpConnectionManager - Freeing
connection, hostConfig=HostConfiguration[host=http://robspc:9081,
proxyHost=http://PIKESVILLE.COLLABRASPACE.COM:8080]
11/17/2005 16:05:06 [DEBUG] IdleConnectionHandler - Adding connection at:
1132261506171
11/17/2005 16:05:06 [DEBUG] MultiThreadedHttpConnectionManager - Notifying
no-one, there are no waiting threads
11/17/2005 16:05:06 [ERROR] CSConnection -  <java.net.SocketException: Software
caused connection abort: recv failed>java.net.SocketException: Software caused
connection abort: recv failed
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.io.BufferedInputStream.fill(Unknown Source)
	at java.io.BufferedInputStream.read(Unknown Source)
	at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:77)
	at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:105)
	at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1113)
	at
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1373)
	at
org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1832)
	at com.collabraspace.common.CSPostMethod.readStatusLine(CSPostMethod.java:23)
	at
org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1590)
	at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:995)
	at
org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:395)
	at
org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
	at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
	at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324)
	at
com.collabraspace.cserver.client.CSConnection.sendCommand(CSConnection.java:1681)
	at
com.collabraspace.cserver.client.CSConnection.sendCommand(CSConnection.java:1557)
	at com.collabraspace.cserver.client.CSConnection.login(CSConnection.java:230)
	at
com.collabraspace.cserver.client.CSClientConnection.login(CSClientConnection.java:304)
	at
com.collabraspace.cserver.client.CSConnectionMgr.getClientConnection(CSConnectionMgr.java:72)
	at
com.collabraspace.comps.main.CollaborationMain.initializeConnection(CollaborationMain.java:553)
	at com.collabraspace.comps.main.CollaborationMain.init(CollaborationMain.java:169)
	at
com.collabraspace.comps.util.CollaborationApplet.init(CollaborationApplet.java:64)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)


What am I missing here?

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpclient-dev-help@jakarta.apache.org