[ http://issues.apache.org/jira/browse/WSCOMMONS-74?page=all ]
Eran Chinthaka reassigned WSCOMMONS-74:
---------------------------------------
Assignee: Rich Scheuerle
Rich,
Can you please look in to this? Seems the problem is in OMSerializer.
> Incorrect namespace serialization
> ---------------------------------
>
> Key: WSCOMMONS-74
> URL: http://issues.apache.org/jira/browse/WSCOMMONS-74
> Project: WS-Commons
> Issue Type: Bug
> Components: AXIOM
> Reporter: Ruchith Udayanga Fernando
> Assigned To: Rich Scheuerle
> Priority: Blocker
> Attachments: SerializationTest.java
>
>
> Hi All,
> I noticed that axiom doesn't serialize namespaces correctly.
> 1.) Namespaces in qualified elements
> For example we should be able to produce the following xml with the code that
> follows:
> <person1 xmlns="http://ws.apache.org/axis2/apacheconasia/06">
> <name>John</name>
> <name>John12</name>
> <age>34</age>
> </person1>
> OMFactory fac = OMAbstractFactory.getOMFactory();
>
> OMNamespace ns =
> fac.createOMNamespace("http://ws.apache.org/axis2/apacheconasia/06", "");
> OMElement personElem = fac.createOMElement("person", ns);
> OMElement nameElem = fac.createOMElement("name", ns);
> nameElem.setText("John");
>
> OMElement ageElem = fac.createOMElement("age", ns);
> ageElem.setText("34");
>
> OMElement weightElem = fac.createOMElement("weight", ns);
> weightElem.setText("50");
>
>
> //Add children to the person element
> personElem.addChild(nameElem);
> personElem.addChild(ageElem);
> personElem.addChild(weightElem);
>
> String xml = personElem.toString();
> But right now this produces the following :
> <person xmlns="http://ws.apache.org/axis2/apacheconasia/06"><name
> xmlns="http://ws.apache.org/axis2/apacheconasia/06">John</name><age
> xmlns="http://ws.apache.org/axis2/apacheconasia/06">34</age><weight
> xmlns="http://ws.apache.org/axis2/apacheconasia/06">50</weight></person>
> The repetition of the default namespace should be avoided.
> This is the same even if we used a prefixed namespace.
> 2.) Unqualified elements among qualified elements
>
> OMFactory fac = OMAbstractFactory.getOMFactory();
> OMNamespace ns =
> fac.createOMNamespace("http://ws.apache.org/axis2/apacheconasia/06", "");
> OMElement personElem = fac.createOMElement("person", ns);
> //Create and add an unqualified element
> OMElement nameElem = fac.createOMElement("name", null);
> nameElem.setText("John");
> personElem.addChild(nameElem);
> OMElement ageElem = fac.createOMElement("age", ns);
> ageElem.setText("34");
>
> OMElement weightElem = fac.createOMElement("weight", ns);
> weightElem.setText("50");
> personElem.addChild(ageElem);
> personElem.addChild(weightElem);
> System.out.println(personElem);
> The above should produce the following :
> <person xmlns="http://ws.apache.org/axis2/apacheconasia/06"><name
> xmlns="">John</name><age>34</age><weight>50</weight></person>
> But AXIOM right now produces :
> <person
> xmlns="http://ws.apache.org/axis2/apacheconasia/06"><name>John</name><age
> xmlns="http://ws.apache.org/axis2/apacheconasia/06">34</age><weight
> xmlns="http://ws.apache.org/axis2/apacheconasia/06">50</weight></person>
> What do u folks think?
> Thanks,
> Ruchith
> p.s. Added a test case
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]