axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bobby Lawrence (JIRA)" <>
Subject [jira] Commented: (AXIS-1908) Exception Handling in org.apache.axis.client.Call.invokeEngineOneWay
Date Fri, 22 Jul 2005 14:36:46 GMT
    [ ] 

Bobby Lawrence commented on AXIS-1908:

Thomas - 
I dont' quite understand your comment.
It seems that if Axis gets a Fault returned on the client side, it should throw an Exception.

The problem is, the code in Axis checks to see if the return type is something other than
"javax.xml.soap.SOAPMessage".  If it is, it throws the Exception.  If it isn't it doesn't.

Here is the EXACT code in org.apache.axis.cient.Call.invokeEngine:

if((respBody instanceof SOAPFault) && (operation == null || operation.getReturnClass()
== null || operation.getReturnClass() != (javax.xml.soap.SOAPMessage.class)))
            throw ((SOAPFault)respBody).getFault();

This causes unexpected behavior when using the SAAJ API.
If using SAAJ, Axis ALWAYS sets the return type to be "javax.xml.soap.SOAPMessage".
If a fault is returned from the server using this API, an exception is NEVER thrown back up
to the client.

> Exception Handling in org.apache.axis.client.Call.invokeEngineOneWay
> --------------------------------------------------------------------
>          Key: AXIS-1908
>          URL:
>      Project: Apache Axis
>         Type: Improvement
>   Components: Basic Architecture
>  Environment: Windows XP Pro, Java 1.4.2, Axis 1.2 RC3
>     Reporter: Bobby Lawrence
>     Priority: Minor

> It would be nice if the private method invokeEngineOneWay threw a runtime subclass of
AxisFault or something instead of just catching it an logging.
> I see that it has 'todo' comments around it, I thought that reworking the architecture
slightly to have a runtime version of an AxisFault might help.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message