You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by Saminda Abeyruwan <sa...@opensource.lk> on 2005/08/12 08:24:33 UTC
Problems with connection reset - HTTPClient
Hi Devs,
I'm a Axis2 soap stack contributor. We use the functionality of
commons-httpclient-3.0-rc2 in our transport layer. When we writing
test cases, we have come accorss with the following exception in the
following environment.
Linux(Ubuntu)/2.6.10-5-386 i386 java/1.4.2_08 and maven/1.0.2.
Exception is ,
org.apache.axis2.AxisFault: Connection reset; nested exception is:
java.net.SocketException: Connection reset; nested exception is:
org.apache.axis2.AxisFault: Connection reset; nested exception is:
java.net.SocketException: Connection reset
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:139)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:87)
at org.apache.axis2.clientapi.TwoWayTransportBasedSender.send(TwoWayTransportBasedSender.java:34)
at org.apache.axis2.clientapi.InOutMEPClient.invokeBlocking(InOutMEPClient.java:174)
at org.apache.axis2.clientapi.Call.invokeBlocking(Call.java:90)
at org.apache.axis2.engine.CharctersetEncodingTest.runTest(CharctersetEncodingTest.java:105)
at org.apache.axis2.engine.CharctersetEncodingTest.runtest(CharctersetEncodingTest.java:124)
at org.apache.axis2.engine.CharctersetEncodingTest.testSimpleString(CharctersetEncodingTest.java:128)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Caused by: org.apache.axis2.AxisFault: Connection reset; nested exception is:
java.net.SocketException: Connection reset
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:189)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:109)
... 30 more
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
at java.io.BufferedInputStream.read(BufferedInputStream.java:201)
at org.apache.commons.httpclient.HttpConnection.isResponseAvailable(HttpConnection.java:897)
at org.apache.commons.httpclient.HttpMethodBase.readResponseBody(HttpMethodBase.java:1691)
at org.apache.commons.httpclient.HttpMethodBase.readResponseBody(HttpMethodBase.java:1634)
at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1597)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:995)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:393)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:168)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:393)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.transportConfigurationPOST(CommonsHTTPTransportSender.java:401)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:167)
... 31 more
======================================
which is initiated from HTTPClient.excuiteMethod()
But the test case work nicely with other environments such as Windos XP JVM/1.4. Some other Linux distros experiancing the "connection reset" problem occationally.
Would someone help us to sort out this problem. Does this has to do with the JVM i'm using in my Env.
Saminda
---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpclient-dev-help@jakarta.apache.org
Re: Problems with connection reset - HTTPClient
Posted by Ortwin Glück <od...@odi.ch>.
Saminda,
In order to see why this exception occurs you need to produce a packet
log (use Ethereal) of the session.
Cheers
Ortwin
Saminda Abeyruwan wrote:
> Hi Ortwin Gluck,
>
> We still experiencing the problem with "connection reset" even after the
> "false safe" mechanism you have provided. What would cause it. BTW,
> commons-httpclient-3.0-rc2's chunking capability is good right..
--
[web] http://www.odi.ch/
[blog] http://www.odi.ch/weblog/
[pgp] key 0x81CF3416
finger print F2B1 B21F F056 D53E 5D79 A5AF 02BE 70F5 81CF 3416
---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpclient-dev-help@jakarta.apache.org
Re: Problems with connection reset - HTTPClient
Posted by Saminda Abeyruwan <sa...@opensource.lk>.
Hi Ortwin Gluck,
We still experiencing the problem with "connection reset" even after the
"false safe" mechanism you have provided. What would cause it. BTW,
commons-httpclient-3.0-rc2's chunking capability is good right..
Saminda
Ortwin Glück wrote:
> Saminda,
>
> You are speaking about a connection failure while executing a POST
> method. Please read "Automatic exception recovery" in
> http://jakarta.apache.org/commons/httpclient/exception-handling.html
>
> For transaction safety reasons HttpClient does not automatically retry
> the request in your case. Consider implementing your own
> HttpMethodRetryHandler as outlined in the documentation above.
>
> BTW:
> I see you are implementing your own classes for chunked streaming. You
> will benefit of the upcoming http-common library of HttpClient 4 that
> contains such functionality ready to be reused. Actually you could
> already reuse the classes present in HttpClient 3, if HttpClient is a
> hard dependency of your project anyway.
>
> Hope that helps. Cheers
>
> Ortwin Glück
>
> Saminda Abeyruwan wrote:
>
>> Hi Devs,
>>
>> I'm a Axis2 soap stack contributor. We use the functionality of
>> commons-httpclient-3.0-rc2 in our transport layer. When we
>> writing test cases, we have come accorss with the following
>> exception in the following environment.
>>
>> Linux(Ubuntu)/2.6.10-5-386 i386 java/1.4.2_08 and maven/1.0.2.
>>
>> Exception is ,
>>
>> org.apache.axis2.AxisFault: Connection reset; nested exception is:
>> java.net.SocketException: Connection reset; nested exception is:
>> org.apache.axis2.AxisFault: Connection reset; nested exception
>> is: java.net.SocketException: Connection reset
>> at
>> org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:139)
>>
>> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:87)
>> at
>> org.apache.axis2.clientapi.TwoWayTransportBasedSender.send(TwoWayTransportBasedSender.java:34)
>>
>> at
>> org.apache.axis2.clientapi.InOutMEPClient.invokeBlocking(InOutMEPClient.java:174)
>>
>> at org.apache.axis2.clientapi.Call.invokeBlocking(Call.java:90)
>> at
>> org.apache.axis2.engine.CharctersetEncodingTest.runTest(CharctersetEncodingTest.java:105)
>>
>> at
>> org.apache.axis2.engine.CharctersetEncodingTest.runtest(CharctersetEncodingTest.java:124)
>>
>> at
>> org.apache.axis2.engine.CharctersetEncodingTest.testSimpleString(CharctersetEncodingTest.java:128)
>>
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>
>> at
>> com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:31)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>
>> at
>> com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
>> Caused by: org.apache.axis2.AxisFault: Connection reset; nested
>> exception is: java.net.SocketException: Connection reset
>> at
>> org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:189)
>>
>> at
>> org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:109)
>>
>> ... 30 more
>> Caused by: java.net.SocketException: Connection reset
>> at java.net.SocketInputStream.read(SocketInputStream.java:168)
>> at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
>> at java.io.BufferedInputStream.read(BufferedInputStream.java:201)
>> at
>> org.apache.commons.httpclient.HttpConnection.isResponseAvailable(HttpConnection.java:897)
>>
>> at
>> org.apache.commons.httpclient.HttpMethodBase.readResponseBody(HttpMethodBase.java:1691)
>>
>> at
>> org.apache.commons.httpclient.HttpMethodBase.readResponseBody(HttpMethodBase.java:1634)
>>
>> at
>> org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1597)
>>
>> at
>> org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:995)
>>
>> at
>> org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:393)
>>
>> at
>> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:168)
>>
>> at
>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:393)
>>
>> at
>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
>>
>> at
>> org.apache.axis2.transport.http.CommonsHTTPTransportSender.transportConfigurationPOST(CommonsHTTPTransportSender.java:401)
>>
>> at
>> org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:167)
>>
>> ... 31 more
>>
>> ======================================
>>
>> which is initiated from HTTPClient.excuiteMethod()
>>
>> But the test case work nicely with other environments such as Windos
>> XP JVM/1.4. Some other Linux distros experiancing the "connection
>> reset" problem occationally.
>> Would someone help us to sort out this problem. Does this has to do
>> with the JVM i'm using in my Env.
>> Saminda
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: httpclient-dev-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: httpclient-dev-help@jakarta.apache.org
>>
>>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpclient-dev-help@jakarta.apache.org
Re: Problems with connection reset - HTTPClient
Posted by Ortwin Glück <od...@odi.ch>.
Saminda,
You are speaking about a connection failure while executing a POST
method. Please read "Automatic exception recovery" in
http://jakarta.apache.org/commons/httpclient/exception-handling.html
For transaction safety reasons HttpClient does not automatically retry
the request in your case. Consider implementing your own
HttpMethodRetryHandler as outlined in the documentation above.
BTW:
I see you are implementing your own classes for chunked streaming. You
will benefit of the upcoming http-common library of HttpClient 4 that
contains such functionality ready to be reused. Actually you could
already reuse the classes present in HttpClient 3, if HttpClient is a
hard dependency of your project anyway.
Hope that helps. Cheers
Ortwin Glück
Saminda Abeyruwan wrote:
> Hi Devs,
>
> I'm a Axis2 soap stack contributor. We use the functionality of
> commons-httpclient-3.0-rc2 in our transport layer. When we writing
> test cases, we have come accorss with the following exception in the
> following environment.
>
> Linux(Ubuntu)/2.6.10-5-386 i386 java/1.4.2_08 and maven/1.0.2.
>
> Exception is ,
>
> org.apache.axis2.AxisFault: Connection reset; nested exception is:
> java.net.SocketException: Connection reset; nested exception is:
> org.apache.axis2.AxisFault: Connection reset; nested exception is:
> java.net.SocketException: Connection reset
> at
> org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:139)
>
> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:87)
> at
> org.apache.axis2.clientapi.TwoWayTransportBasedSender.send(TwoWayTransportBasedSender.java:34)
>
> at
> org.apache.axis2.clientapi.InOutMEPClient.invokeBlocking(InOutMEPClient.java:174)
>
> at org.apache.axis2.clientapi.Call.invokeBlocking(Call.java:90)
> at
> org.apache.axis2.engine.CharctersetEncodingTest.runTest(CharctersetEncodingTest.java:105)
>
> at
> org.apache.axis2.engine.CharctersetEncodingTest.runtest(CharctersetEncodingTest.java:124)
>
> at
> org.apache.axis2.engine.CharctersetEncodingTest.testSimpleString(CharctersetEncodingTest.java:128)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>
> at
> com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:31)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>
> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
> Caused by: org.apache.axis2.AxisFault: Connection reset; nested
> exception is: java.net.SocketException: Connection reset
> at
> org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:189)
>
> at
> org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:109)
>
> ... 30 more
> Caused by: java.net.SocketException: Connection reset
> at java.net.SocketInputStream.read(SocketInputStream.java:168)
> at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
> at java.io.BufferedInputStream.read(BufferedInputStream.java:201)
> at
> org.apache.commons.httpclient.HttpConnection.isResponseAvailable(HttpConnection.java:897)
>
> at
> org.apache.commons.httpclient.HttpMethodBase.readResponseBody(HttpMethodBase.java:1691)
>
> at
> org.apache.commons.httpclient.HttpMethodBase.readResponseBody(HttpMethodBase.java:1634)
>
> at
> org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1597)
>
> at
> org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:995)
>
> at
> org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:393)
>
> at
> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:168)
>
> at
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:393)
> at
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
> at
> org.apache.axis2.transport.http.CommonsHTTPTransportSender.transportConfigurationPOST(CommonsHTTPTransportSender.java:401)
>
> at
> org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:167)
>
> ... 31 more
>
> ======================================
>
> which is initiated from HTTPClient.excuiteMethod()
>
> But the test case work nicely with other environments such as Windos XP
> JVM/1.4. Some other Linux distros experiancing the "connection reset"
> problem occationally.
> Would someone help us to sort out this problem. Does this has to do with
> the JVM i'm using in my Env.
> Saminda
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: httpclient-dev-help@jakarta.apache.org
>
>
--
[web] http://www.odi.ch/
[blog] http://www.odi.ch/weblog/
[pgp] key 0x81CF3416
finger print F2B1 B21F F056 D53E 5D79 A5AF 02BE 70F5 81CF 3416
---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpclient-dev-help@jakarta.apache.org