[ 
http://issues.apache.org/jira/browse/AXIS-1908?page=comments#action_12316471 ] 

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.
Simple.

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();
        else
            return;

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.
NOTHING HAPPENS.



> Exception Handling in org.apache.axis.client.Call.invokeEngineOneWay
> --------------------------------------------------------------------
>
>          Key: AXIS-1908
>          URL: http://issues.apache.org/jira/browse/AXIS-1908
>      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:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to