Hello,
I have a third party incoming XML at the transport
layer which has a structure as below
<d:a xmlns:a="...."
xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
.....
.....
<dsig:Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
(the dsig namespace is applied to all child elements as
well)
......
.....
</dsig:Signature>
</d:a>
When
my parser is parsing the xml this is what i am getting
<d:a
xmlns:a="...." xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
.....
.....
<Signature
xmlns="http://www.w3.org/2000/09/xmldsig#">
(the dsig namespace is removed from all the child
elements)
......
.....
</Signature>
</d:a>Then
when i try to validate the signature it fails. The partner is saying that i
have wrongly parsed the xml. They calculated the digest with the "dsig" prefix
in their xml where as i am calcuating it after removing "dsig" namespace as
there is a default namespace and thus the parser overrides the parent
namespace declaration.
Which one is correct, should my parser have
retained the "dsig" namespace even though a default namespace is defined or i
am doing the right thing?
We are using apache axis 1.3 for parsing the
xml which is comming over SOAP.
thanks in advance for the
help
Regards,
Anishek