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]

Reply via email to