hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oleg Kalnichevski <ol...@apache.org>
Subject RE: Problems using the HTTPClient through a proxy
Date Sun, 13 Feb 2005 17:40:46 GMT
On Sun, 2005-02-13 at 15:16 +0300, Riad Souissi wrote:
> 
> I will report the bug.
> Actually, I looked at the code and HTTP 1.1 is hardcoded in the
> ConnectMethod class.

Riad,

Yes, you are right. I was wrong. HTTP/1.1 was indeed hardcoded. There's
a patch for the problem

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

> 
> I took the liberty to modify it for testing and I find out my issue was
> not related to the HTTP version.
> Basically, once the Proxy connection with the proxy is created (I
> receive "HTTP/1.0 200 Connection established"), it fails when it calls
> HttpConnection.tunnelCreated()
> I took a look at the code in tunnelCreated():
> 
> SecureProtocolSocketFactory socketFactory =
>             (SecureProtocolSocketFactory)
> protocolInUse.getSocketFactory();
> 
>         socket = socketFactory.createSocket(socket, hostName,
> portNumber, true);
>         int sndBufSize = this.params.getSendBufferSize();
>         if (sndBufSize >= 0) {
>             socket.setSendBufferSize(sndBufSize);
> 
> And it fails on the socket.setSendBufferSize call (I am not familiar on
> how socket tunneling works in Sun's JDK, but is it possible that the
> socket in question in this function is not tunneled in the initial
> socket created with the proxy ?).
> 

This us unlikely. HttpClient SSL tunneling is known to work without a
hitch with Squid proxy and Microsoft ISA proxy. How reliable is
BlueCoat-Security-Appliance, anyways? Does it work with non-Microsoft
browsers? To me this looks like a proxy side problem. Do you have access
to the proxy logs?

Try commenting out send buffer size stuff and see if that makes any
difference.

Oleg


> Anyway, here is the complete log (trace enabled).
> 
> Thanks in advance,
> riad
> 
> 2005-02-13 14:31:18 GMT+03:00 [ISU.0000.9999C]
> [xxxx]-[testConnection.HTTPUTILS]-[DEBUG.4]=> HTTPJakartaClient.postHtt
> pData(KEYACCOUNTS.EBILL.xxxx.SSL.test): sending HTTP data...
> 2005/02/13 14:31:18:062 GMT+03:00 [DEBUG] DefaultHttpParams - Set
> parameter http.protocol.version = HTTP/1.0
> 2005/02/13 14:31:18:062 GMT+03:00 [DEBUG] DefaultHttpParams - Set
> parameter http.method.retry-handler = stc.httputils.HT
> TPJakartaClient$MyHttpMethodRetryHandler@33cb63d3
> 2005/02/13 14:31:18:062 GMT+03:00 [TRACE] HttpState - enter
> HttpState.getCookies()
> 2005-02-13 14:31:18 GMT+03:00 [ISU.0000.9999C]
> [xxxx]-[testConnection.HTTPUTILS]-[DEBUG.4]=> HTTPJakartaClient.postHtt
> pData(KEYACCOUNTS.EBILL.xxxx.SSL.test): sending string
> 2005/02/13 14:31:18:078 GMT+03:00 [TRACE] HeaderElement - enter
> HeaderElement.parseElements(String)
> 2005/02/13 14:31:18:078 GMT+03:00 [TRACE] HeaderElement - enter
> HeaderElement.parseElements(char[])
> 2005/02/13 14:31:18:078 GMT+03:00 [TRACE] HeaderElement - enter
> HeaderElement.getParameterByName(String)
> 2005/02/13 14:31:18:078 GMT+03:00 [TRACE] PostMethod - enter
> PostMethod.clearRequestBody()
> 2005/02/13 14:31:18:078 GMT+03:00 [TRACE] EntityEnclosingMethod - enter
> EntityEnclosingMethod.clearRequestBody()
> 2005/02/13 14:31:18:078 GMT+03:00 [DEBUG] DefaultHttpParams - Set
> parameter http.protocol.cookie-policy = ignoreCookies
> 2005/02/13 14:31:18:078 GMT+03:00 [TRACE] HttpClient - enter
> HttpClient.executeMethod(HostConfiguration,HttpMethod)
> 2005/02/13 14:31:18:078 GMT+03:00 [TRACE] HttpClient - enter
> HttpClient.executeMethod(HostConfiguration,HttpMethod,HttpS
> tate)
> 2005/02/13 14:31:18:094 GMT+03:00 [TRACE]
> MultiThreadedHttpConnectionManager - enter
> HttpConnectionManager.getConnection
> WithTimeout(HostConfiguration, long)
> 2005/02/13 14:31:18:094 GMT+03:00 [DEBUG]
> MultiThreadedHttpConnectionManager -
> HttpConnectionManager.getConnection:  con
> fig = HostConfiguration[host=https://devwebm.xxxx.com,
> proxyHost=http://proxy.yyyy.com:8080], timeout = 30000
> 2005/02/13 14:31:18:094 GMT+03:00 [TRACE]
> MultiThreadedHttpConnectionManager - enter
> HttpConnectionManager.ConnectionPoo
> l.getHostPool(HostConfiguration)
> 2005/02/13 14:31:18:094 GMT+03:00 [TRACE]
> MultiThreadedHttpConnectionManager - enter
> HttpConnectionManager.ConnectionPoo
> l.getHostPool(HostConfiguration)
> 2005/02/13 14:31:18:094 GMT+03:00 [DEBUG]
> MultiThreadedHttpConnectionManager - Allocating new connection,
> hostConfig=Hos
> tConfiguration[host=https://devwebm.xxxx.com,
> proxyHost=http://proxy.yyyy.com:8080]
> 2005/02/13 14:31:18:094 GMT+03:00 [DEBUG] HttpMethodDirector -
> Preemptively sending default basic credentials
> 2005/02/13 14:31:18:109 GMT+03:00 [DEBUG] HttpMethodDirector -
> Authenticating with BASIC <any realm>@proxy.yyyy.com:80
> 80
> 2005/02/13 14:31:18:109 GMT+03:00 [TRACE] HttpState - enter
> HttpState.getProxyCredentials(AuthScope)
> 2005/02/13 14:31:18:109 GMT+03:00 [TRACE] BasicScheme - enter
> BasicScheme.authenticate(Credentials, HttpMethod)
> 2005/02/13 14:31:18:109 GMT+03:00 [DEBUG] HttpMethodParams - Credential
> charset not configured, using HTTP element chars
> et
> 2005/02/13 14:31:18:109 GMT+03:00 [TRACE] BasicScheme - enter
> BasicScheme.authenticate(UsernamePasswordCredentials, Stri
> ng)
> 2005/02/13 14:31:18:109 GMT+03:00 [TRACE] HttpMethodBase -
> HttpMethodBase.addRequestHeader(Header)
> 2005/02/13 14:31:18:109 GMT+03:00 [DEBUG] HttpMethodDirector -
> Authenticating with BASIC <any realm>@devwebm.xxxx.com:
> 443
> 2005/02/13 14:31:18:109 GMT+03:00 [TRACE] HttpState - enter
> HttpState.getCredentials(AuthScope)
> 2005/02/13 14:31:18:109 GMT+03:00 [TRACE] BasicScheme - enter
> BasicScheme.authenticate(Credentials, HttpMethod)
> 2005/02/13 14:31:18:109 GMT+03:00 [DEBUG] HttpMethodParams - Credential
> charset not configured, using HTTP element chars
> et
> 2005/02/13 14:31:18:125 GMT+03:00 [TRACE] BasicScheme - enter
> BasicScheme.authenticate(UsernamePasswordCredentials, Stri
> ng)
> 2005/02/13 14:31:18:125 GMT+03:00 [TRACE] HttpMethodBase -
> HttpMethodBase.addRequestHeader(Header)
> 2005/02/13 14:31:18:125 GMT+03:00 [TRACE] HttpMethodDirector - Attempt
> number 1 to process request
> 2005/02/13 14:31:18:125 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.open()
> 2005/02/13 14:31:18:125 GMT+03:00 [DEBUG] HttpConnection - Open
> connection to proxy.yyyy.com:8080
> 2005/02/13 14:31:18:141 GMT+03:00 [TRACE] ConnectMethod - enter
> ConnectMethod()
> 2005/02/13 14:31:18:141 GMT+03:00 [TRACE] HttpMethodDirector - Attempt
> number 1 to process request
> 2005/02/13 14:31:18:172 GMT+03:00 [TRACE] ConnectMethod - enter
> ConnectMethod.execute(HttpState, HttpConnection)
> 2005/02/13 14:31:18:172 GMT+03:00 [TRACE] HttpMethodBase - enter
> HttpMethodBase.execute(HttpState, HttpConnection)
> 2005/02/13 14:31:18:172 GMT+03:00 [TRACE] HttpMethodBase - enter
> HttpMethodBase.writeRequest(HttpState, HttpConnection)
> 2005/02/13 14:31:18:172 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.printLine(String)
> 2005/02/13 14:31:18:172 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.writeLine(byte[])
> 2005/02/13 14:31:18:172 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.write(byte[])
> 2005/02/13 14:31:18:172 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.write(byte[], int, int)
> 2005/02/13 14:31:18:172 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.writeLine()
> 2005/02/13 14:31:18:172 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.write(byte[])
> 2005/02/13 14:31:18:172 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.write(byte[], int, int)
> 2005/02/13 14:31:18:172 GMT+03:00 [DEBUG] header - >> "CONNECT
> devwebm.xxxx.com:443 HTTP/1.0"
> 2005/02/13 14:31:18:172 GMT+03:00 [TRACE] HttpMethodBase - enter
> HttpMethodBase.writeRequestHeaders(HttpState,HttpConnec
> tion)
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] ConnectMethod - enter
> ConnectMethod.addRequestHeaders(HttpState, HttpConnectio
> n)
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] HttpMethodBase - enter
> HttpMethodBase.addUserAgentRequestHeaders(HttpState, Ht
> tpConnection)
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] HttpMethodBase - enter
> HttpMethodBase.addHostRequestHeader(HttpState, HttpConn
> ection)
> 2005/02/13 14:31:18:188 GMT+03:00 [DEBUG] HttpMethodBase - Adding Host
> request header
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] HttpMethodBase - enter
> HttpMethodBase.addProxyConnectionHeader(HttpState, Http
> Connection)
> 2005/02/13 14:31:18:188 GMT+03:00 [DEBUG] header - >> "User-Agent:
> Jakarta Commons-HttpClient/3.0-rc1[\r][\n]"
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.print(String)
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.write(byte[])
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.write(byte[], int, int)
> 2005/02/13 14:31:18:188 GMT+03:00 [DEBUG] header - >> "Host:
> devwebm.xxxx.com[\r][\n]"
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.print(String)
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.write(byte[])
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.write(byte[], int, int)
> 2005/02/13 14:31:18:188 GMT+03:00 [DEBUG] header - >> "Proxy-Connection:
> Keep-Alive[\r][\n]"
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.print(String)
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.write(byte[])
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.write(byte[], int, int)
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.writeLine()
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.write(byte[])
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.write(byte[], int, int)
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.flushRequestOutputStream()
> 2005/02/13 14:31:18:188 GMT+03:00 [DEBUG] header - >> "[\r][\n]"
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.flushRequestOutputStream()
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] HttpMethodBase - enter
> HttpMethodBase.readResponse(HttpState, HttpConnection)
> 2005/02/13 14:31:18:188 GMT+03:00 [TRACE] HttpMethodBase - enter
> HttpMethodBase.readStatusLine(HttpState, HttpConnection
> )
> 2005/02/13 14:31:18:312 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.readLine()
> 2005/02/13 14:31:18:312 GMT+03:00 [TRACE] HttpParser - enter
> HttpParser.readLine(InputStream, String)
> 2005/02/13 14:31:18:312 GMT+03:00 [TRACE] HttpParser - enter
> HttpParser.readRawLine()
> 2005/02/13 14:31:19:172 GMT+03:00 [DEBUG] header - << "HTTP/1.0 200
> Connection established[\r][\n]"
> 2005/02/13 14:31:19:172 GMT+03:00 [TRACE] HttpMethodBase - enter
> HttpMethodBase.readResponseHeaders(HttpState,HttpConnec
> tion)
> 2005/02/13 14:31:19:172 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.getResponseInputStream()
> 2005/02/13 14:31:19:172 GMT+03:00 [TRACE] HttpParser - enter
> HeaderParser.parseHeaders(InputStream, String)
> 2005/02/13 14:31:19:172 GMT+03:00 [TRACE] HttpParser - enter
> HttpParser.readLine(InputStream, String)
> 2005/02/13 14:31:19:172 GMT+03:00 [TRACE] HttpParser - enter
> HttpParser.readRawLine()
> 2005/02/13 14:31:19:172 GMT+03:00 [TRACE] HttpParser - enter
> HttpParser.readLine(InputStream, String)
> 2005/02/13 14:31:19:172 GMT+03:00 [TRACE] HttpParser - enter
> HttpParser.readRawLine()
> 2005/02/13 14:31:19:172 GMT+03:00 [DEBUG] header - << "Proxy-agent:
> BlueCoat-Security-Appliance[\r][\n]"
> 2005/02/13 14:31:19:172 GMT+03:00 [TRACE] HttpMethodBase - enter
> HttpMethodBase.processResponseHeaders(HttpState, HttpCo
> nnection)
> 2005/02/13 14:31:19:188 GMT+03:00 [TRACE] HttpMethodBase - enter
> HttpMethodBase.readResponseBody(HttpState, HttpConnecti
> on)
> 2005/02/13 14:31:19:188 GMT+03:00 [TRACE] HttpMethodBase - enter
> HttpMethodBase.readResponseBody(HttpConnection)
> 2005/02/13 14:31:19:188 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.getResponseInputStream()
> 2005/02/13 14:31:19:188 GMT+03:00 [TRACE] HttpMethodBase - enter
> HttpMethodBase.canResponseHaveBody(int)
> 2005/02/13 14:31:19:188 GMT+03:00 [DEBUG] ConnectMethod - CONNECT status
> code 200
> 2005/02/13 14:31:19:188 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.tunnelCreated()
> 2005/02/13 14:31:19:188 GMT+03:00 [DEBUG] HttpConnection - Secure tunnel
> to devwebm.xxxx.com:443
> 2005/02/13 14:31:19:219 GMT+03:00 [DEBUG] HttpMethodDirector - Closing
> the connection: 2-exception=java.net.SocketExcept
> ion: Socket closed
> 2005/02/13 14:31:19:234 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.close()
> 2005/02/13 14:31:19:234 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.closeSockedAndStreams()
> 2005/02/13 14:31:19:234 GMT+03:00 [TRACE] HttpConnection - enter
> HttpConnection.releaseConnection()
> 2005/02/13 14:31:19:250 GMT+03:00 [DEBUG] HttpConnection - Releasing
> connection back to connection manager.
> 2005/02/13 14:31:19:250 GMT+03:00 [TRACE]
> MultiThreadedHttpConnectionManager - enter
> HttpConnectionManager.releaseConnec
> tion(HttpConnection)
> 2005/02/13 14:31:19:250 GMT+03:00 [DEBUG]
> MultiThreadedHttpConnectionManager - Freeing connection,
> hostConfig=HostConfig
> uration[host=https://devwebm.xxxx.com,
> proxyHost=http://proxy.yyyy.com:8080]
> 2005/02/13 14:31:19:250 GMT+03:00 [TRACE]
> MultiThreadedHttpConnectionManager - enter
> HttpConnectionManager.ConnectionPoo
> l.getHostPool(HostConfiguration)
> 2005/02/13 14:31:19:250 GMT+03:00 [DEBUG] IdleConnectionHandler - Adding
> connection at: 1108294279250
> 2005/02/13 14:31:19:250 GMT+03:00 [DEBUG]
> MultiThreadedHttpConnectionManager - Notifying no-one, there are no
> waiting th
> reads
> 2005-02-13 14:31:19 GMT+03:00 [ISU.0000.9999C]
> [xxxx]-[testConnection.HTTPUTILS]-[ERROR]=> ---------------------------
> -----
> 2005-02-13 14:31:19 GMT+03:00 [ISU.0000.9999C]
> [xxxx]-[testConnection.HTTPUTILS]-[ERROR]=> HTTPJakartaClient.postHttpD
> ata(KEYACCOUNTS.EBILL.xxxx.SSL.test):
> ==> EXCEPTION: java.net.SocketException: Socket closed
> java.net.SocketException: Socket closed
>         at java.net.PlainSocketImpl.socketGetOption(Native Method)
>         at
> java.net.PlainSocketImpl.getOption(PlainSocketImpl.java(Compiled Code))
>         at java.net.Socket.getSendBufferSize(Socket.java:548)
>         at
> org.apache.commons.httpclient.HttpConnection.tunnelCreated(HttpConnectio
> n.java:792)
>         at
> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpCon
> nectionAdapter.tunnelCreated(MultiThr
> eadedHttpConnectionManager.java:1499)
>         at
> org.apache.commons.httpclient.HttpMethodDirector.executeConnect(HttpMeth
> odDirector.java:492)
>         at
> org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMe
> thodDirector.java:363)
>         at
> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMetho
> dDirector.java:168)
>         at
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:3
> 93)
>         at
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:3
> 46)
>         at
> stc.httputils.HTTPJakartaClient.executeMethod(HTTPJakartaClient.java:396
> )
>         at
> stc.httputils.HTTPJakartaClient.postHttpData(HTTPJakartaClient.java:440)
>         at http.services.httpJakarta(services.java:97)
>         at java.lang.reflect.Method.invoke(Native Method)
>         at
> com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java(Compiled
> Code))
>         at
> com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java(Co
> mpiled Code))
>         at
> com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProce
> ssor.java(Compiled Code))
>         at
> com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceComple
> tionImpl.java(Compiled Code))
>         at
> com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor
> .java(Compiled Code))
>         at
> com.wm.app.b2b.server.ACLManager.process(ACLManager.java(Compiled Code))
>         at
> com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor
> .java(Compiled Code))
>         at
> com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java(Compi
> led Code))
>         at
> com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java(Com
> piled Code))
>         at
> com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java(Inl
> ined Compiled Code))
>         at
> com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java(Inlined
> Compiled Code))
>         at
> com.wm.app.b2b.server.BaseService.invoke(BaseService.java(Compiled
> Code))
>         at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java(Compiled
> Code))
>         at com.wm.lang.flow.FlowState.invokeNode(FlowState.java(Compiled
> Code))
>         at com.wm.lang.flow.FlowState.step(FlowState.java(Compiled
> Code))
>         at com.wm.lang.flow.FlowState.invoke(FlowState.java(Compiled
> Code))
>         at
> com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1749)
>         at
> com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java(Co
> mpiled Code))
>         at
> com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProce
> ssor.java(Compiled Code))
>         at
> com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceComple
> tionImpl.java(Compiled Code))
>         at
> com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor
> .java(Compiled Code))
>         at
> com.wm.app.b2b.server.ACLManager.process(ACLManager.java(Compiled Code))
>         at
> com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor
> .java(Compiled Code))
>         at
> com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java(Compi
> led Code))
>         at
> com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java(Com
> piled Code))
>         at
> com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java(Inl
> ined Compiled Code))
>         at
> com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java(Inlined
> Compiled Code))
>         at
> com.wm.app.b2b.server.BaseService.invoke(BaseService.java(Compiled
> Code))
>         at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java(Compiled
> Code))
>         at com.wm.lang.flow.FlowState.invokeNode(FlowState.java(Compiled
> Code))
>         at com.wm.lang.flow.FlowState.step(FlowState.java(Compiled
> Code))
>         at com.wm.lang.flow.FlowState.invoke(FlowState.java(Compiled
> Code))
>         at
> com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1749)
>         at
> com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java(Co
> mpiled Code))
>         at
> com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProce
> ssor.java(Compiled Code))
>         at
> com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceComple
> tionImpl.java(Compiled Code))
>         at
> com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor
> .java(Compiled Code))
>         at
> com.wm.app.b2b.server.ACLManager.process(ACLManager.java(Compiled Code))
>         at
> com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor
> .java(Compiled Code))
>         at
> com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java(Compi
> led Code))
>         at
> com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java(Com
> piled Code))
>         at
> com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java(Inl
> ined Compiled Code))
>         at
> com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java(Compiled
> Code))
>         at
> com.wm.app.b2b.server.comm.DefaultServerRequestHandler.handleMessage(Def
> aultServerRequestHandler.java:97)
>         at
> com.wm.app.b2b.server.HTTPMessageHandler.process(HTTPMessageHandler.java
> :167)
>         at com.wm.app.b2b.server.Dispatch.run(Dispatch.java(Compiled
> Code))
>         at com.wm.util.pool.PooledThread.run(PooledThread.java(Compiled
> Code))
>         at java.lang.Thread.run(Thread.java:512)
> 2005-02-13 14:31:19 GMT+03:00 [ISU.0000.9999C]
> [xxxx]-[testConnection.HTTPUTILS]-[ERROR]=> ---------------------------
> -----
> 
> -----Original Message-----
> From: Oleg Kalnichevski [mailto:olegk@apache.org]
> Sent: Saturday, February 12, 2005 4:57 PM
> To: HttpClient User Discussion
> Subject: RE: Problems using the HTTPClient through a proxy
> 
> Any parameter can be applied either at the method, host, or client level
> 
> See <http://jakarta.apache.org/commons/httpclient/3.0/preference-
> api.html>
> 
> The trouble is that the CONNECT method seems to be taking its parameters
> from the client, ignoring those set at the method and host level
> 
> Feel free to file a bug report and I'll provide a fix shortly
> 
> Oleg
> 
> On Sat, 2005-02-12 at 16:32 +0300, Riad Souissi wrote:
> > You said setVersion() should work on Proxy comm; where do you apply it
> ?
> > I may have miss-used it (I have this:
> > postmethod.getParams().setVersion(HttpVersion.HTTP_1_1).
> > However, it should be possible to specify a different HTTP version for
> 
> > proxy comm from the tunnled comm (it may be the case already, but I do
> 
> > not see how).
> >
> > Here are the logs:
> >
> > <REMOVED>
> 
> > -----Original Message-----
> > From: Oleg Kalnichevski [mailto:olegk@apache.org]
> > Sent: Saturday, February 12, 2005 4:15 PM
> > To: httpclient-user@jakarta.apache.org
> > Subject: Re: Problems using the HTTPClient through a proxy
> >
> > On Sat, 2005-02-12 at 15:35 +0300, Riad Souissi wrote:
> > > Hi all,
> > >
> > > I am using HTTPClient 3.0-rc1.
> > > I am connecting to an HTTPS site through a proxy.
> > >
> > > 1) I used HTTPLook to see the HTTP messages between the Proxy and
> > > the HTTPClient.
> > > I noticed that it always used HTTP/1.1 and I could not find how to
> > > get
> >
> > > the HTTPClient to use HTTP/1.0 with the proxy instead.
> > > The setVersion() method, when used, only impacts the tunneled HTTP
> > > protocol between the HTTPClient and the target host.
> >
> > Riad,
> > setVersion() should also work for proxy communication. Please post the
> 
> > wire/context log of the HTTP session. See
> > <http://jakarta.apache.org/commons/httpclient/3.0/logging.html> for
> > details. I'll take a look at the log
> >
> > >
> > > => Do you know how I can force the client to use HTTP/1.0 with the
> > > proxy ?
> > >
> > > 2) I also that the HTTPClient does not specify the Content-Length in
> 
> > > the HTTP header with the Proxy.
> > > This seems to cause the Proxy to reject the connection from the
> > > HTTPClient.
> >
> > It should not. The Content-Length (or Transfer-Encoding) is required
> > for entity enclosing methods. HTTP CONNECT is not supposed to enclose
> > an entity
> >
> >
> > >
> > > When I use the Internet Explorer, I can see that Content-Length is
> > > specified (value is 0).
> > >
> >
> > Well, after all, it is IE.
> >
> > Oleg
> >
> > > => Do you know how I can force the client to specify this header
> > > with the proxy ?
> > >
> > > Thanks in advance,
> > > riad
> > >
> >
> 
> 
> DiscalimerThe information in this email and in any files transmitted with it,
> is intended only for the addressee and may contain confidential and/or privileged material.
> Access to this email by anyone else is unauthorized. If you receive this in error,
> please contact the sender immediately and delete the material from any computer.
> If you are not the intended recipient, any disclosure, copying, distribution or
> any action taken or omitted to be taken in reliance on it, is strictly prohibited.
> Statement and opinions expressed in this e-mail are those of the sender, and do not
> necessarily reflect those of STC.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: httpclient-user-help@jakarta.apache.org


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


Mime
View raw message