You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Ali Sadik Kumlali (JIRA)" <ji...@apache.org> on 2006/07/01 12:03:30 UTC

[jira] Commented: (AXIS2-741) "Transport error 500" for EchoBlockingDualClient & echoF

    [ http://issues.apache.org/jira/browse/AXIS2-741?page=comments#action_12418792 ] 

Ali Sadik Kumlali commented on AXIS2-741:
-----------------------------------------

Chamikara has made similar changes on AxisEngine (revision 418442).

He made more accurate addition instead of "My addition" part I listed before:

if (msgContext.isServerSide() && !msgContext.isPaused()) {
 // invoke the Message Receivers
 checkMustUnderstand(msgContext);
 checkUsingAddressing(msgContext);
 MessageReceiver receiver = msgContext.getAxisOperation().getMessageReceiver();
 receiver.receive(msgContext);
}

I haven't tested yet but it seems one part of the problem has been fixed with this update. However, catch block found in doPost() method of AxisServlet still seems the same. Therefore, when a service throws an exception, it will still be treated as transport error since AxisServlet sends HTTP 500 back over the request's connection.

> "Transport error 500" for EchoBlockingDualClient & echoF
> --------------------------------------------------------
>
>          Key: AXIS2-741
>          URL: http://issues.apache.org/jira/browse/AXIS2-741
>      Project: Apache Axis 2.0 (Axis2)
>         Type: Bug

>     Versions: 1.0
>  Environment: Win 2K Pro, JDK 1.4, Tomcat 5.5
>     Reporter: Ali Sadik Kumlali
>  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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org