Return-Path: X-Original-To: apmail-axis-java-user-archive@www.apache.org Delivered-To: apmail-axis-java-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 541F86E7F for ; Fri, 24 Jun 2011 11:26:22 +0000 (UTC) Received: (qmail 94359 invoked by uid 500); 24 Jun 2011 11:26:20 -0000 Delivered-To: apmail-axis-java-user-archive@axis.apache.org Received: (qmail 94046 invoked by uid 500); 24 Jun 2011 11:26:19 -0000 Mailing-List: contact java-user-help@axis.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: java-user@axis.apache.org Delivered-To: mailing list java-user@axis.apache.org Received: (qmail 94038 invoked by uid 99); 24 Jun 2011 11:26:19 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 24 Jun 2011 11:26:19 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of cgalpin@lhsw.com designates 74.204.161.67 as permitted sender) Received: from [74.204.161.67] (HELO mail.tkmsoftware.net) (74.204.161.67) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 24 Jun 2011 11:26:11 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.tkmsoftware.net (Postfix) with ESMTP id 54D85325A51 for ; Fri, 24 Jun 2011 07:25:50 -0400 (EDT) Received: from mail.tkmsoftware.net ([127.0.0.1]) by localhost (mail.tkmsoftware.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OhfmPeOrdBsE for ; Fri, 24 Jun 2011 07:25:45 -0400 (EDT) Received: from duo.lan.lhsw.com (pool-71-163-34-14.washdc.fios.verizon.net [71.163.34.14]) by mail.tkmsoftware.net (Postfix) with ESMTP id 6A6E5325A2A for ; Fri, 24 Jun 2011 07:25:44 -0400 (EDT) Subject: Re: Howto get extended log information in case of ClientAbortException References: <17E648B083FF77458F0FD5D0E9742FCF02B775FC32@MNL1MBX.l1id.local> From: Charles Galpin Content-Type: multipart/alternative; boundary=Apple-Mail-276--104937616 In-Reply-To: <17E648B083FF77458F0FD5D0E9742FCF02B775FC32@MNL1MBX.l1id.local> Message-Id: <7AD31507-1B7A-4DA4-ACAD-BAACDE957B39@lhsw.com> Date: Fri, 24 Jun 2011 07:25:44 -0400 To: java-user@axis.apache.org Mime-Version: 1.0 (Apple Message framework v1084) X-Mailer: Apple Mail (2.1084) --Apple-Mail-276--104937616 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=windows-1252 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, > =20 > 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: > =20 > 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(SOAPMessageFo= rmatter.java:83) > at = org.apache.axis2.transport.http.CommonsHTTPTransportSender.sendUsingOutput= Stream(CommonsHTTPTransportSender.java:358) > =20 > [snip] > =20 > at = org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Ht= tp11Protocol.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.jav= a:168) > at = org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.ja= va:487) > at = org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFo= rmatter.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(InternalOutpu= tBuffer.java:724) > at = org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:449) > at = org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.j= ava: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 > =20 > =20 > Unfortunately, this kind of exception does not provide any information = about which request was unable to complete in time. > =20 > 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. > =20 > 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=92t= have an idea where to add a handler or if this is possible at all. > =20 > I would appreciate any feedback and thoughts on this. > =20 > We are currently using Axis2 1.5.1 (Java) deployed in a JBoss 5.1.0 = under Windows 7 (but I don=92t think this matters). > =20 > Thanks, > -Rainer > =20 > =20 > =20 --Apple-Mail-276--104937616 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=windows-1252 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:
 
)SOAPMessageFormatter.java:83
Http11Protocol.java:598)
      at = org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447
Thread.java:619
 com.ctc.wstx.exc.WstxIOException: null
      at = com.ctc.wstx.sw.BaseStreamWriter.flush(
MTOMXMLStreamWriter.java:168
OMNodeImpl.java:487
SOAPMessageFormatter.java:79
 ClientAbortException java.net.SocketException: = Software caused connection abort: socket write errorOutputBuffer.java:348
OutputBuffer.java:314
CoyoteOutputStream.java:98
)
 java.net.SocketException: = Software caused connection abort: socket write error)
InternalOutputBuffer.java:724)
      at = org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:449
InternalOutputBuffer.java:299)
      at = org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:950
)OutputBuffer.java:343
 
 
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=92t 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=92t think this = matters).
 
Thanks,
-Rainer
 
 
 

= --Apple-Mail-276--104937616--