Hi,

I have the following use case:

HTTP Consumer > Camel > Saxon > HTTP Soap Provider

My Saxon SU basically constructs a SOAP request body from parameters
included in the HTTP request and proceeds by forwarding the now SOAP request
to the provider.  I also have a XSL template for handling the responses
given by the SOAP Provider which I specify in the
outResource="classpath:Response.xsl" of my saxon:proxy definition. 
Everything works ok for normal responses, I'm having difficulty handling
soapFaults though.

I've added a "faultResource" attribute and corresponding xsl template to my
saxon:proxy definition however I can't seem to be able to extract the
<faultcode> and <faultstring> values from the response.  First off I don't
know what the response message is supposed to look like at the point where
Saxon receives it.  Will it be in the standard SOAP Fault format or will it
have the JBI wrapper elements in it?

My fault xsl template looks like this:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
                xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
                                
        <xsl:output method="xml" indent="yes"/>
        <xsl:template match="/">
            <error>
              <xsl:copy-of select="//faultcode/>  
              <xsl:copy-of select="//faultstring/>  
            </error>            
        </xsl:template>
</xsl:stylesheet>

This, however, does not seem to work as I'm not getting any response body
back (content length is 0).  Any suggestions how to check the response body
before returning to the Saxon SU?  For all I know my xpath could just be
wrong because the response body is of a different format than what I expect.

Thanks for the help.

-- 
View this message in context: 
http://www.nabble.com/Help-with-handling-SOAP-Faults-with-Saxon-SU-tp23862956p23862956.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to