axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Menzner, Rainer" <>
Subject Howto get extended log information in case of ClientAbortException
Date Fri, 24 Jun 2011 07:43:31 GMT
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]
      at org.apache.axis2.AxisFault.makeFault(
      at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(
      at org.apache.axis2.transport.http.CommonsHTTPTransportSender.sendUsingOutputStream(


      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(
Caused by: com.ctc.wstx.exc.WstxIOException: null
      at com.ctc.wstx.sw.BaseStreamWriter.flush(
      at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(
      ... 30 more
Caused by: ClientAbortException: Software caused connection abort:
socket write error
      at org.apache.catalina.connector.OutputBuffer.doFlush(
      at org.apache.catalina.connector.OutputBuffer.flush(
      at org.apache.catalina.connector.CoyoteOutputStream.flush(
      at com.ctc.wstx.sw.BufferingXmlWriter.flush(
      at com.ctc.wstx.sw.BaseStreamWriter.flush(
      ... 33 more
Caused by: Software caused connection abort: socket write error
      at Method)
      at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(
      at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(
      at org.apache.coyote.http11.InternalOutputBuffer.flush(
      at org.apache.coyote.http11.Http11Processor.action(
      at org.apache.coyote.Response.action(
      at org.apache.catalina.connector.OutputBuffer.doFlush(
      ... 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).


View raw message