I  have an Axis2 web service that is calling another Axis2 web service
on a separate server via a client proxy. I'm running using the Axis2
web app in Tomcat on both servers. To make this easier let's say
service A calls service B. Periodically SocketExceptions are being
thrown in service A while calling Service B indicating that the
connection was reset. Looking at the stack trace I can see that Axis2
is in the BStub.fromOM method calling service B.

We didn't have this problem when in development and we have since gone
to production, making it harder to troubleshoot. Service A is writing
an exception trace to the Tomcat log, but Service B is not. I think
the issue is that the client proxy is not waiting long enough for the
response, but I'm shooting in the dark.

Since we are in production a code change is more difficult to deploy,
so changing configuration is preferred. I tried adding these
parameters in the axis.xml file under the http transportSender to set
the timeout to 10 minutes, but it didn't fix the problem:
         <parameter name="SO_TIMEOUT" locked="false">600000</parameter>
         <parameter name="CONNECTION_TIMEOUT" locked="false">600000</parameter>

It's my understanding that the transportSender settings should affect
the defaults for the call from service A to service B so I don't have
to configure the client in code, but it really isn't clear to me. If
you have any suggestions or can point me to some documentation this is
more complete than
http://ws.apache.org/axis2/1_4_1/http-transport.html I would
appreciate it!

Reply via email to