[ http://issues.apache.org/jira/browse/AXIS2-741?page=comments#action_12427132 ] Ali Sadik Kumlali commented on AXIS2-741: -----------------------------------------
David, I updated my local from SVN and created a release distro. But, i still get HTTP 500 response over the first channel. You can find message flow attached. What I've seen from the code, if I'm not wrong, you need to add the same thing inside AxisFault catch block in AxisServlet. When I made this change, everything went ok. Following code should be replaced ----------------------------------------------------- // AxisServlet - doPost .... } catch (AxisFault e) { log.debug(e); if (msgContext != null) { try { res.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); handleFault(msgContext, out, e); } catch (AxisFault e2) { log.info(e2); } } else { throw new ServletException(e); } } catch (Throwable t) { ... } ----------------------------------------------------- with the following ----------------------------------------------------- // AxisServlet - doPost .... } catch (AxisFault e) { log.debug(e); if (msgContext != null) { try { // If the fault is not going along the back channel we should be 202ing if(AddressingHelper.isFaultRedirected(msgContext)){ res.setStatus(HttpServletResponse.SC_ACCEPTED); }else{ res.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); } handleFault(msgContext, out, e); } catch (AxisFault e2) { log.info(e2); } } else { throw new ServletException(e); } } catch (Throwable t) { ... } ----------------------------------------------------- > "Transport error 500" for EchoBlockingDualClient & echoF > -------------------------------------------------------- > > Key: AXIS2-741 > URL: http://issues.apache.org/jira/browse/AXIS2-741 > Project: Apache Axis 2.0 (Axis2) > Issue Type: Bug > Affects Versions: 1.0 > Environment: Win 2K Pro, JDK 1.4, Tomcat 5.5 > Reporter: Ali Sadik Kumlali > Assigned To: David Illsley > Attachments: message_flow.txt > > > When I use EchoBlockingDualClient to invoke echoF service which throws > AxisFault, I run into a strange(?) situation. > Server returnes back an error through the *first* channel. Error says > "Transport error 500 . Error Message is <html><head><title>Apache > Tomcat/5.5.14 - Error report...". Then it sends the actual error over the > *second* channel. > When I look at the server logs, there is only one trace that indicates the > AxisFault error thrown by echoF. There seems no transport related errors. > However, client catches *only* the first error and writes it down to the > console. Then, it throws another exception that says > "org.apache.axis2.AxisFault: Time out while waiting for the server to send > the response" > I tried followings: > - Throwing XMLStreamException instead of AxisFault for conforming the > original echo sample. > - Adding FaultTo EPR to the request. > Neither of them worked. > Since separate listener case is very important, I beleive this is actually a > blocker issue. (If I'm not missing something) > -------------------------------------------------------------------- > public OMElement echoF(OMElement element) throws AxisFault { > throw new AxisFault("MyFault message", "MyFaultCode"); > } > -------------------------------------------------------------------- > - Transport error 500 . Error Message is <html><head><title>Apache > Tomcat/5.5.14 - Error report</title><style><!--H1 > {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} > H2 > {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} > H3 > {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} > BODY > {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} > B > {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} > P > {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A > {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> > </head><body><h1>HTTP Status 500 - </h1><HR size="1" > noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> > <u></u></p><p><b>description</b> <u>The server encountered an internal > error () that prevented it from fulfilling this request.</u></p><HR > size="1" noshade="noshade"><h3>Apache Tomcat/5.5.14</h3></body></html>; > nested exception is: > ... > org.apache.axis2.AxisFault: Time out while waiting for the server to > send the response[SimpleHTTPServer] Stop called > at > org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:448) > at > org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:399) > at > userguide.clients.EchoBlockingDualClient.main(EchoBlockingDualClient.java:54) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]