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. 
Greetings 
Christian 


Reply via email to