XML Element lost when there is an OMException inside OMChildrenIterator.next()
------------------------------------------------------------------------------
Key: WSCOMMONS-323
URL: https://issues.apache.org/jira/browse/WSCOMMONS-323
Project: WS-Commons
Issue Type: Bug
Components: AXIOM
Environment: Windows
Reporter: Boris Milanov
I have this sample xml part (which is intentionally incorrect, containing
duplicate attribute at third level):
<Body>
<Function>
<Parameter attr='a' attr='a'>
<abc/>
</Parameter>
</Function>
</Body>
So I generate an OMElement and try to serialize it using:
String xml="<Body><Function><Parameter attr='a'
attr='a'><abc/></Parameter></Function></Body>";
ByteArrayInputStream bais = new
ByteArrayInputStream(xml.getBytes());
XMLStreamReader parser;
try {
parser =
XMLInputFactory.newInstance().createXMLStreamReader(bais);
} catch (XMLStreamException e) {
// TODO Auto-generated catch block
} catch (FactoryConfigurationError e) {
// TODO Auto-generated catch block
}
StAXOMBuilder builder = new StAXOMBuilder(parser);
OMElement bodyElement = builder.getDocumentElement();
bodyElement.serialize(System.out);
... but instead of receiving a duplicate attribute exception (which should
probably happen in this case), I get the following output:
<Body>
<Function>
<abc />
</Function>
</Body>
The child element of <Parameter> has become a child element of its parent.
Is this behaviour correct?
Note: This bug may be related to this JIRA:
http://issues.apache.org/jira/browse/WSCOMMONS-91. I looked at the AXIOM 1.2.5
source and it seems that the exception is actually thrown inside
OMChildrenIterator.next(), but it is caught and a flag is set:
isExceptionThrownInAdvancingToNextElement = true.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]