You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by "Heshan Suriyaarachchi (JIRA)" <ji...@apache.org> on 2009/10/12 13:01:31 UTC
[jira] Commented: (SYNAPSE-576) Content of Soap 1.1 Fault not
completely transformed into SOAP 1.2 Fault - Details are missing
[ https://issues.apache.org/jira/browse/SYNAPSE-576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12764649#action_12764649 ]
Heshan Suriyaarachchi commented on SYNAPSE-576:
-----------------------------------------------
Adriaan,
<SOAP-ENV:Detail> element should be inside <SOAP-ENV:Fault> element. That is why the "detail" is disappering in the transformation from 1.1 to 1.2 in your usecase. Therefore the behaviour you experienced is correct. Please refer [1] [2] for more information. Try resending your message as follows.
<?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>
<detail>
<someElement>Couldn't find the element with id 123</someElement>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
[1] - Example 10 of SOAP 1.1 Specification http://www.w3.org/TR/2000/NOTE-SOAP-20000508/
[2] - Example 52 of SOAP 1.2 Specification http://www.w3.org/TR/2001/WD-soap12-20010709/
> 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: 1.3
> Reporter: Adriaan Wisse
>
> 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: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org