I will report the bug.
Actually, I looked at the code and HTTP 1.1 is hardcoded in the
ConnectMethod class.
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 ?).
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
[EMAIL PROTECTED]
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:[EMAIL PROTECTED]
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:[EMAIL PROTECTED]
> Sent: Saturday, February 12, 2005 4:15 PM
> To: [email protected]
> 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]