[ 
https://issues.apache.org/jira/browse/SYNAPSE-576?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hiranya Jayathilaka reassigned SYNAPSE-576:
-------------------------------------------

    Assignee: Hiranya Jayathilaka

> Content of Soap 1.1 Fault not completely transformed into SOAP 1.2 Fault - 
> Details are missing
> ----------------------------------------------------------------------------------------------
>
>                 Key: SYNAPSE-576
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-576
>             Project: Synapse
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0
>            Reporter: Adriaan Wisse
>            Assignee: Hiranya Jayathilaka
>
> We are using something like the following synapse configuration to convert 
> soap 1.2 messages to soap 1.1 messages
> <proxy name="SynapseProxy" transports="http, https">
> <target>
>       <endpoint name="Soap11Webservice">
>             <address uri="http://localhost/MySoap11Webservice"; 
> format="soap11" />
>       </endpoint>
> </target>
> </proxy>
> This is all working well except when we are receiving a Soap Fault from the 
> 'MySoap11Webservice' like this:
> <?xml version='1.0' encoding='utf-8'?>
> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";>
>       <SOAP-ENV:Body>
>             <SOAP-ENV:Fault>
>                          <faultcode>SOAP-ENV:Client</faultcode>
>                          <faultstring>Something went wrong</faultstring>
>             </SOAP-ENV:Fault>
>             <SOAP-ENV:Detail>
>                     <someElement>Couldn't find the element with id 
> 123</someElement>
>             </SOAP-ENV:Detail>
>       </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> Synapse transforms this message using the 
> org.apache.synapse.core.axis2.SOAPUtils into the following soap 1.2 message:
> <?xml version='1.0' encoding='utf-8'?>
> <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope";>
>     <soapenv:Body>
>         <soapenv:Fault>
>             
> <soapenv:Code><soapenv:Value>soapenv:Sender</soapenv:Value></soapenv:Code>
>             <soapenv:Reason><soapenv:Text xml:lang="en">Something went 
> wrong</soapenv:Text></soapenv:Reason>
>         </soapenv:Fault>
>     </soapenv:Body>
> </soapenv:Envelope>
> As you can see the details disappeared.
> Adding something like this to the SOAPUtils java class on line 205 solves 
> this problem.
>                     SOAPFaultDetail detail = soapFault.getDetail();
>                     if (detail != null) {
>                       SOAPFaultDetail newSOAPFaultDetail 
>                                       = 
> soap12Factory.createSOAPFaultDetail(newSOAPFault);
>                       
>                       Iterator<OMElement> iter = detail.getAllDetailEntries();
>                       while (iter.hasNext()) {
>                               OMElement detailEntry = iter.next();
>                               newSOAPFaultDetail.addDetailEntry(detailEntry);
>                       }
>                       newSOAPFault.setDetail(newSOAPFaultDetail);
>                     }
> When I look further into the code of the SOAPUtils I also see that there is 
> no transformation of soap 1.1 faultactor into soap 1.2 Role.
> Moreover the transformation from soap 1.2 to soap 1.1. is also missing both 
> the detail and role-faultactor transformation.

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

Reply via email to