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 "footh (JIRA)" <ji...@apache.org> on 2007/02/06 22:52:06 UTC

[jira] Created: (AXIS2-2125) Asynchronous web service invocation does not return XML response on a SOAP fault

Asynchronous web service invocation does not return XML response on a SOAP fault
--------------------------------------------------------------------------------

                 Key: AXIS2-2125
                 URL: https://issues.apache.org/jira/browse/AXIS2-2125
             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())
  ..call the callback's onError method
else
  ..call 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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Commented: (AXIS2-2125) Asynchronous web service invocation does not return XML response on a SOAP fault

Posted by "footh (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-2125?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12471071 ] 

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: https://issues.apache.org/jira/browse/AXIS2-2125
>             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())
>   ..call the callback's onError method
> else
>   ..call 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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Commented: (AXIS2-2125) Asynchronous web service invocation does not return XML response on a SOAP fault

Posted by "footh (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-2125?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12471041 ] 

footh commented on AXIS2-2125:
------------------------------

Thanks Nick, that makes more sense to match what is being done on the synchronous calls.

> Asynchronous web service invocation does not return XML response on a SOAP fault
> --------------------------------------------------------------------------------
>
>                 Key: AXIS2-2125
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2125
>             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())
>   ..call the callback's onError method
> else
>   ..call 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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Updated: (AXIS2-2125) Asynchronous web service invocation does not return XML response on a SOAP fault

Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-2125?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Davanum Srinivas updated AXIS2-2125:
------------------------------------

    Assignee: Nick Gallardo

> Asynchronous web service invocation does not return XML response on a SOAP fault
> --------------------------------------------------------------------------------
>
>                 Key: AXIS2-2125
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2125
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: client-api
>    Affects Versions: 1.1
>         Environment: All
>            Reporter: footh
>         Assigned To: Nick Gallardo
>            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())
>   ..call the callback's onError method
> else
>   ..call 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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Resolved: (AXIS2-2125) Asynchronous web service invocation does not return XML response on a SOAP fault

Posted by "Nick Gallardo (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-2125?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nick Gallardo resolved AXIS2-2125.
----------------------------------

    Resolution: Fixed

Marking this issue resolved per the fix in JIRA 2091.  

> Asynchronous web service invocation does not return XML response on a SOAP fault
> --------------------------------------------------------------------------------
>
>                 Key: AXIS2-2125
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2125
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: client-api
>    Affects Versions: 1.1
>         Environment: All
>            Reporter: Jeff Faath
>            Assignee: Nick Gallardo
>            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())
>   ..call the callback's onError method
> else
>   ..call 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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Commented: (AXIS2-2125) Asynchronous web service invocation does not return XML response on a SOAP fault

Posted by "Nick Gallardo (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-2125?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12470839 ] 

Nick Gallardo commented on AXIS2-2125:
--------------------------------------

I've addressed this in a different way just yesterday in a different JIRA.

http://issues.apache.org/jira/browse/AXIS2-2091

The fault that you are returned will be an AxisFault (which was happening already).  The only difference is that now you can get the MessageContext for the response from the AxisFault.

> Asynchronous web service invocation does not return XML response on a SOAP fault
> --------------------------------------------------------------------------------
>
>                 Key: AXIS2-2125
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2125
>             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())
>   ..call the callback's onError method
> else
>   ..call 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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Commented: (AXIS2-2125) Asynchronous web service invocation does not return XML response on a SOAP fault

Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-2125?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12481444 ] 

Davanum Srinivas commented on AXIS2-2125:
-----------------------------------------

Nick,

Anything else needs to be done for this one?

-- dims

> Asynchronous web service invocation does not return XML response on a SOAP fault
> --------------------------------------------------------------------------------
>
>                 Key: AXIS2-2125
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2125
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: client-api
>    Affects Versions: 1.1
>         Environment: All
>            Reporter: footh
>         Assigned To: Nick Gallardo
>            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())
>   ..call the callback's onError method
> else
>   ..call 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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org