You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by "Pantvaidya, Vishwajit" <vp...@selectica.com> on 2007/12/14 04:43:18 UTC

[Axis2] 1.3 with MTOM - AxisFault: Connection reset in HTTPSender.sendViaPost

Hello,

I have deployed my webservice using Axis2 1.3 (with the axiom jars patched for https://issues.apache.org/jira/browse/AXIS2-3196). This service receives calls from a .NET client and then makes calls to a .NET webservice (.NET 2.0 WSE 3.0). After every few calls (about 10 or so), I get the Connection reset exception (stack trace copied at the end of this post) while trying to call the .NET service.


 1.  I tried disabling chunking as suggested at http://wso2.org/forum/thread/1878 - but then I get the error "Transport error: 403 Error: Access Forbidden at org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:298) at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:192)"
 2.  My problem seems to be same as the one at https://issues.apache.org/jira/browse/AXIS2-1473 - which basically says that connection keeps on dropping because of the 100 continue messages from IIS. I cannot apply the IIS patch - so I was thinking I can use the http method param "http.protocol.expect-continue" so that the apache http client does not reset connection upon the 100 msgs from IIS.

Is this the right and only solution? If yes - can anyone suggest a good way to do this - I was thinking of configuring axis2.xml to use my custom class instead of axis2 CommonsHTTPSender and setting this param there.


Thanks,

Vish.

--------------------------------------------------------------------
org.apache.axis2.AxisFault: Connection reset
            at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
            at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:195)
            at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:77)
            at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:327)
            at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:206)
            at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
            at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:374)
            at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211)
            at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
            at com.selectica.ws.pdfwordclient.wsdlgen.CPMPDFToWordStub.DownloadChunk(CPMPDFToWordStub.java:796)
            at com.selectica.ws.ecm.ECMServiceSoapImpl.downloadChunk(ECMServiceSoapImpl.java:837)
            at com.selectica.ws.ecm.wsdlgen.ECMServiceSoapMessageReceiverInOut.invokeBusinessLogic(ECMServiceSoapMessageReceiverInOut.java:358)
            at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
            at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
            at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
            at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
            at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
            at com.determine.servletfilter.CryptLinksFilter.doFilter(CryptLinksFilter.java:80)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
            at com.determine.servletfilter.ExceptionCatcherFilter.doFilter(ExceptionCatcherFilter.java:72)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
            at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
            at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
            at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
            at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
            at java.lang.Thread.run(Thread.java:595)
Caused by: java.net.SocketException: Connection reset
            at java.net.SocketInputStream.read(SocketInputStream.java:168)
            at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
            at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
            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:1115)
            at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1373)
            at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1832)
            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:397)
            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:346)
            at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:520)
            at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:191)
--------------------------------------------------------------------