axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "footh (JIRA)" <>
Subject [jira] Commented: (AXIS2-2125) Asynchronous web service invocation does not return XML response on a SOAP fault
Date Wed, 07 Feb 2007 19:34:05 GMT


footh commented on AXIS2-2125:

Actually, upon reflection, the synchronous call only throws an AxisFault when you have the
configuration setting "setExceptionToBeThrownOnSOAPFault" set to true (which is the default
setting).  When it is set to false, the synchronous call returns the response which ends up
being of type SOAPFaultImpl.

This same thing should occur on the asynchronous call.  When the setting is set to "true",
then the AxisFault should be returned in the onError method of the Callback class per your
change.  However, if this setting is "false", I am thinking just the onComplete method should
be called with the raw response being returned.

> Asynchronous web service invocation does not return XML response on a SOAP fault
> --------------------------------------------------------------------------------
>                 Key: AXIS2-2125
>                 URL:
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: client-api
>    Affects Versions: 1.1
>         Environment: All
>            Reporter: footh
>            Priority: Minor
> When using the asynchronous sendReceiveNonBlocking call to invoke a web service, there
is no way to retrieve the XML response if a SOAP Fault occurs.  The XML response is always
returned on the blocking invocation methods.  I believe the same should hold for the asynchronous
calls - there should always be a way to retreive the raw XML response.
> I sifted through the source code, in particular the NonBlockingInvocationWorker class
(I'm looking at the one in OutInAxisOperation).  The block of code that appears to be the
problem looks something like this (in the run() method of NonBlockingInvocationWorker):
> if (body.hasFault())
> the callback's onError method
> else
> the callback's onComplete method
> It seems the "else" clause should be eliminated and onComplete should always be called
whether it is a SOAP Fault or not.  This would result in both onError() and onComplete() being
called in the case of a SOAP Fault, but I don't see that as being a big problem as the client
can deal with it.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message