[ 
http://issues.apache.org/jira/browse/AXIS2-425?page=comments#action_12374747 ] 

Eran Chinthaka commented on AXIS2-425:
--------------------------------------

Hi Yves,

Can you please check this with the latest changes. Now AxisFault has 
constructors for you to include all the fault information you like.

> SOAPFault details are being lost
> --------------------------------
>
>          Key: AXIS2-425
>          URL: http://issues.apache.org/jira/browse/AXIS2-425
>      Project: Apache Axis 2.0 (Axis2)
>         Type: Bug

>   Components: core
>     Versions: 0.95
>     Reporter: Yves Langisch
>     Assignee: Eran Chinthaka
>  Attachments: axis2_partial_patch_425.patch
>
> My service method looks as follows which again calls another webservice:
>     public OMElement Operation1(OMElement element) throws Exception {
>         OMElement result = null;
>         try {
>             Options options = new Options();
>             EndpointReference er = new 
> EndpointReference("http://localhost:9700/nextWS";);
>             options.setTo(er);
>             options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
>             options.setUseSeparateListener(false);
>             options.setSoapAction("\"Operation1\"");
>             ServiceClient client = new ServiceClient();
>             client.setOptions(options);
>             result = client.sendReceive(element);
>         } catch (AxisFault axisFault) {
>         // do some work
>         ...
>         // throw fault back to client       
>             throw axisFault;
>         }
>         return result;
>     }
> If I get back a SOAPFault from the called webservice I just would like to 
> give this SOAPFault back to the client without any modifications. Especially 
> the detail element should not be touched. With the code above and a fault 
> like this
> ...
> <faultString>Fault occured</faultString>
> <detail>
>    <myBusinessFault>
>     <a>info</a>
>    </myBusinessFault>
> </detail>   
> the faultString is copied into the detail element (on the wire back to the 
> client). The original detail is lost as it is null. I have no possibility to 
> get the details (myBusinessFault) in my catch.
> I already changed some Axis source and was able the get the details correctly 
> as OMElement. But throwing it in the catch caused the details to be lost 
> again on the wire. The problem seems to be in the AxisEngine class in the 
> method extractFaultInformationFromMessageContext.
> I'll provide a partial patch to this issue that solves the problem with 
> getting the details from the fault. 

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