[
https://issues.apache.org/jira/browse/AXIS2-1754?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Deepal Jayasinghe resolved AXIS2-1754.
--------------------------------------
Resolution: Fixed
I fixed this issue during the hackathon.
Please chcek with the latest nighly builds.
Thanks
Deepal
> Exceptions thrown by service methods are not propogated to clients properly.
> ----------------------------------------------------------------------------
>
> Key: AXIS2-1754
> URL: https://issues.apache.org/jira/browse/AXIS2-1754
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: rpc
> Affects Versions: 1.1
> Environment: OS: Windows XP SP2, Eclipse 3.2 IDE, Java 5.0 Update 7
> Reporter: Aaron Gourley
> Assignee: Deepal Jayasinghe
> Priority: Blocker
> Fix For: 1.3
>
> Attachments: ReceiverUtils.java
>
>
> This bug was introduced in revision 452427
> (http://svn.apache.org/viewvc?view=rev&revision=452427)
> In the invokeBusinessLogic() method, calls to "AxisFault.makeFault(e)" were
> changed to calls to "new AxisFault(msg, e)" in the catch blocks in the
> try/catch statements. This is particularly a problem in the handling of
> InvocationTargetExceptions, because the call was actually replaced with a
> call to "new AxisFault(msg) and exceptions thrown by service methods (which
> are wrapped by InvocationTargetExceptions at this point) are discarded. The
> old behaviour was to wrap the cause exception in an AxisFault and rethrow.
> Now the cause exception is only used for its message and a new AxisFault
> exception is created with the same message (and no reference to the exception
> thrown by the service method).
> This results in a meaningless exception being thrown every time.
> Example:
> My service object throws an exception object (which is defined in my WSDL)
> containing some member fields: messageId and resultCode. I do not call
> setMessage() on this exception, so getMessage() returns null. After the
> RPCMessageReceivers process my exception, an AxisFault is thrown with message
> "Exception occurred while trying to invoke service method " +
> method.getName(). My original exception is thrown away and I lose my
> messageId and resultCode information. I get the following SOAP message from
> the server:
> HTTP/1.1 500 Internal Server Error
> Server: Apache-Coyote/1.1
> Set-Cookie: JSESSIONID=07DA197EBF0B871BF5F99B82A177EE01;
> Path=/TerminalLocationService
> Content-Type: text/xml;charset=UTF-8
> Transfer-Encoding: chunked
> Date: Mon, 20 Nov 2006 20:05:48 GMT
> Connection: close
> 169
> <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header
> /><soapenv:Body><soapenv:Fault><faultcode>soapenv:Client</faultcode><faultstring>Exception
> occurred while trying to invoke service method
> getLocationForGroup</faultstring><detail
> /></soapenv:Fault></soapenv:Body></soapenv:Envelope>
> 0
--
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]