On Fri, Sep 25, 2009 at 3:23 PM, Christian Mielke <[email protected]> wrote:

> Hello,
> I have a problem with XML prefixes. When the SOAP message leaves the server
> with a fault the body looks like this:
>
> <soapenv:Body xmlns:wsu="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
> wsu:Id="Id-25568549">
>        <soapenv:Fault>
>                <soapenv:Code>
>                        <soapenv:Value>soapenv:Receiver</soapenv:Value>
>                </soapenv:Code>
>                <soapenv:Reason>
>                        <soapenv:Text xml:lang="en-US">ENFORCED ERROR THROWN
> CORRECTLY</soapenv:Text>
>                </soapenv:Reason>
>                <soapenv:Detail>
>                        <serviceFault xmlns="
> http://www.foo.net/test/xsd/sys/common";>
>                                <faultcode>99990010</faultcode>
>                                <reason>ENFORCED ERROR THROWN
> CORRECTLY</reason>
>                                <node/>
>                                <detail>ENFORCED ERROR THROWN
> CORRECTLY</detail>
>
>  <ctxId>AC10014E00000123F082FFAD00000001</ctxId>
>
>  <timestamp>2009-09-25T11:23:32.156+02:00</timestamp>
>                        </serviceFault>
>                </soapenv:Detail>
>        </soapenv:Fault>
> </soapenv:Body>
>
> But the client takes this body out of the stream:
>
> <soapenv:Body xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope";
> xmlns:wsu="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
> wsu:Id="Id-25568549">
>        <soapenv:Fault>
>                <soapenv:Code>
>                        <soapenv:Value>soapenv:Receiver</soapenv:Value>
>                </soapenv:Code>
>                <soapenv:Reason>
>                        <soapenv:Text xml:lang="en-US">ENFORCED ERROR THROWN
> CORRECTLY</soapenv:Text>
>                </soapenv:Reason>
>                <soapenv:Detail>
>                        <axis2ns1:serviceFault xmlns:axis2ns1="
> http://www.foo.net/test/xsd/sys/common";>
>
>  <axis2ns1:faultcode>99990010</axis2ns1:faultcode>
>                                <axis2ns1:reason>ENFORCED ERROR THROWN
> CORRECTLY</axis2ns1:reason>
>                                <axis2ns1:node/>
>                                <axis2ns1:detail>ENFORCED ERROR THROWN
> CORRECTLY</axis2ns1:detail>
>
>  <axis2ns1:ctxId>AC10014E00000123F082FFAD00000001</axis2ns1:ctxId>
>
>  <axis2ns1:timestamp>2009-09-25T11:23:32.156+02:00</axis2ns1:timestamp>
>                        </axis2ns1:serviceFault>
>                </soapenv:Detail>
>        </soapenv:Fault>
> </soapenv:Body>
>
>
>
> You can see that there is no prefix in the serviceFault tag on the server
> side but the client puts the prefix "axis2ns1" into the body. For me this is
> a problem because the body is signed on the server side and the client
> calculates the hash with this prefix. That leads to signature verification
> failure. Would be great if you can help me.
>

do you sign the soap message using Rampart (ws-security implementation for
Axis2) or with your code?

thanks,
Amila.

> Greetings
> Christian
>
>
>


-- 
Amila Suriarachchi
WSO2 Inc.
blog: http://amilachinthaka.blogspot.com/

Reply via email to