Hi, you can convert the XML document to a new document without the prefixes. Then execute your hash function on the new document. One way to convert XML documents is using XSLT. See this link for example:
https://www.stylusstudio.com/xsllist/200812/post70070.html Chris82KS 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. > Greetings > Christian > > > > -- View this message in context: http://www.nabble.com/Additional-XML-prefixes-when-client-receives-SOAP-fault-tp25609385p25706726.html Sent from the Axis - User mailing list archive at Nabble.com.
