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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
[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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]