Thank you,
I modified like this:

                <filter xpath="/soap11:Envelope/soap11:Body/soap11:Fault"
xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/";>
                        <!-- This is a SOAP 1.1 fault. Convert to a SOAP 1.2
fault -->
                        <makefault version="soap12">
                                <!-- Fault/Code/Value from Fault/faultcode
-->
                                <code
expression="/soap11:Envelope/soap11:Body/soap11:Fault/faultcode"/>
                                <!-- Fault/Reason/Text from
Fault/faultstring-->
                                <reason
expression="/soap11:Envelope/soap11:Body/soap11:Fault/faultstring"/>
                                <!-- Fault/Role from Fault/faultactor-->
                                <role
expression="/soap11:Envelope/soap11:Body/soap11:Fault/faultactor"/>
                                <!-- Fault/Detail from Fault/detail-->
                                <detail
expression="/soap11:Envelope/soap11:Body/soap11:Fault/detail"/>
                        </makefault>
                </filter>

I just have one problem. The code value namespace is weird...

Laurent.

-----Message d'origine-----
De : Asankha C. Perera [mailto:[EMAIL PROTECTED] 
Envoyé : jeudi 3 juillet 2008 17:18
À : [email protected]
Objet : Re: [Synapse 1.1.1] - F.A.Q. SOAP1.1 to SOAP1.2


Hi Laurent

If I understand your problem correctly, your error handling sequence 
needs to identify a SOAP 1.1 fault and SOAP 1.2 fault differently? If 
so, the easiest is to use a filter mediator and check for the existence 
of a SOAP 1.1 or 1.2 fault element as follows:

<filter source="//s11:Fault" 
xmlns:s11="http://schemas.xmlsoap.org/soap/envelope/";>
    // this is a SOAP 1.1 fault.. convert to a SOAP 1.2 fault
    <makefault version="soap12">
           <code value="tns:Receiver" 
xmlns:tns="http://www.w3.org/2003/05/soap-envelope"/>
           <reason expression="//s11:Reason/s11:Text"/>
   </makefault>
</filter>

asankha

Laurent CHARTIER wrote:
> Hi,
> I have a simple question but I can't get a synapse.xml working.
>  
> I have a sequence which sends a WS-request to an endpoint. Actually 
> the format is soap12. If the response is a SOAPFault then the 
> "onError" property points to another sequence which  transform the 
> soapFault.
>  
> The fact is that this transformation can only be done from a SOAP 1.2 
> soapFault.
>  
> I have to invoque a SOAP 1.1 endpoint. No problem to change the format 
> to soap11 in the address endpoint in order to have a SOAP 1.1 request. 
> But then, if this endpoint returns a soapFault, it is a SOAP 1.1 fault 
> and the transformation can't work.
>  
> What can I do before the transformation of a soapFault to be sure the 
> soapFault is a SOAP1.2 fault? And if not, how can I convert from SOAP 
> 1.1 to SOAP 1.2?
>  
> Thanks,
> Laurent.
>
>
>
> Ce message est protégé par les règles relatives au secret des 
> correspondances. Il est donc établi à destination exclusive de son 
> destinataire. Celui-ci peut donc contenir des informations 
> confidentielles. La divulgation de ces informations est à ce titre 
> rigoureusement interdite. Si vous avez reçu ce message par erreur, 
> merci de le renvoyer à l'expéditeur dont l'adresse e-mail figure 
> ci-dessus et de détruire le message ainsi que toute pièce jointe.
>
> This message is protected by the secrecy of correspondence rules. 
> Therefore, this message is intended solely for the attention of the 
> addressee. This message may contain privileged or confidential 
> information, as such the disclosure of these informations is strictly 
> forbidden. If, by mistake, you have received this message, please 
> return this message to the addressser whose e-mail address is written 
> above and destroy this message and all files attached.
>
>
>
>   

-- 
Asankha C. Perera

WSO2 - http://wso2.org
http://esbmagic.blogspot.com





Ce message est protégé par les règles relatives au secret des correspondances. 
Il est donc établi à destination exclusive de son destinataire. Celui-ci peut 
donc contenir des informations confidentielles. La divulgation de ces 
informations est à ce titre rigoureusement interdite. Si vous avez reçu ce 
message par erreur, merci de le renvoyer à l'expéditeur dont l'adresse e-mail 
figure ci-dessus et de détruire le message ainsi que toute pièce jointe.

This message is protected by the secrecy of correspondence rules. Therefore, 
this message is intended solely for the attention of the addressee. This 
message may contain privileged or confidential information, as such the 
disclosure of these informations is strictly forbidden. If, by mistake, you 
have received this message, please return this message to the addressser whose 
e-mail address is written above and destroy this message and all files attached.


Reply via email to