axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Charles Galpin <cgal...@lhsw.com>
Subject Re: Howto get extended log information in case of ClientAbortException
Date Fri, 24 Jun 2011 11:25:44 GMT
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
>  
>  
>  


Mime
View raw message