Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Windown XP, Sun JVM 1.5.0_10
Description
I am facing an issue with SOAP message generated by AXIS.
We have a SOAP request, which when we build and log it, gets logged as:
<OurService xmlns="http://www.somthing.com/ournamespace" xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<param1>
<arr:string>1</arr:string>
<arr:string>2</arr:string>
</param1>
<param2>ABC</param2>
</OurService>
This is proper. But, when it is sent on the wire, it gets sent as:
<OurService xmlns="http://www.somthing.com/ournamespace">
<param1>
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">1</string>
<string>2</string>
</param1>
<param2>ABC</param2>
</OurService>
Note that the xmlns declaration for http://schemas.microsoft.com/2003/10/Serialization/Arrays happens only once - for the first child inside param1, instead of happening on each of them.
I could trace it to OMSerializerUtil, where it is considering a namespace declaration generated at the sibling level as a namespace already written and hence need not be written again.
I already searched the net and the bugs in Axis and Axiom, but could not get to anything that resembles this behavior. So, logging it as a bug, as it looks like we have stumbled into an issue no one has probably faced before.
Attachments
Issue Links
- is related to
-
AXIOM-221 Improve "setPrefix before startElement" XMLStreamWriter toggle.
- Closed