I'd just like to throw in a "me too". We get this same error occasionally and it would be nice to be able to log some details about it.
But I'll take it one step further - it would be nice to enable logging of the source and url/method of all requests kind of like apache tomcat logs too if possible. I'm guessing this is similar to logging details about the request when it gets the socket write error. Thanks, charles On Jun 24, 2011, at 3:43 AM, Menzner, Rainer wrote: > Hi everyone, > > occasionally, when processing a client request takes too long time, the > client runs into a timeout condition and closes the connection. When the > Axis2 web service later tries to send the request response, the following > kind of exception occurs on the server: > > 09:03:50,932 ERROR [AxisEngine] > org.apache.axis2.AxisFault > at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) > at > org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:83) > at > org.apache.axis2.transport.http.CommonsHTTPTransportSender.sendUsingOutputStream(CommonsHTTPTransportSender.java:358) > > [snip] > > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) > at java.lang.Thread.run(Thread.java:619) > Caused by: com.ctc.wstx.exc.WstxIOException: null > at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:313) > at > org.apache.axiom.om.impl.MTOMXMLStreamWriter.flush(MTOMXMLStreamWriter.java:168) > at > org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:487) > at > org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:79) > ... 30 more > Caused by: ClientAbortException: java.net.SocketException: Software caused > connection abort: socket write error > at > org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:348) > at > org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:314) > at > org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:98) > at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:124) > at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:99) > at com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:214) > at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:311) > ... 33 more > Caused by: java.net.SocketException: Software caused connection abort: socket > write error > at java.net.SocketOutputStream.socketWrite0(Native Method) > at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) > at java.net.SocketOutputStream.write(SocketOutputStream.java:136) > at > org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:724) > at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:449) > at > org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:299) > at > org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:950) > at org.apache.coyote.Response.action(Response.java:186) > at > org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:343) > ... 39 more > > > Unfortunately, this kind of exception does not provide any information about > which request was unable to complete in time. > > In our web service we have some further information like a Request Context > which has info about request type, user, a context-Id, ip-address, etc., and > we would like to have that info printed somewhere in the logs so that we can > identify the requests or circumstances under which the service is prone to > run out of time. Now, that exception occurs about at the end of processing, > at least, beyond our web service implementation code, and also outside the > compiled Axis2-generated stub classes. > > Is there an option of registering a particular handler that could print some > more log information at that very late point in processing? I have looked > through axis2.xml and into the phase definitions but I don’t have an idea > where to add a handler or if this is possible at all. > > I would appreciate any feedback and thoughts on this. > > We are currently using Axis2 1.5.1 (Java) deployed in a JBoss 5.1.0 under > Windows 7 (but I don’t think this matters). > > Thanks, > -Rainer > > >