[ https://issues.apache.org/jira/browse/WSCOMMONS-449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12680452#action_12680452 ]
Andreas Veithen commented on WSCOMMONS-449: ------------------------------------------- There are two possible solutions for this issue: WSCOMMONS-450 and WSCOMMONS-451. > OMDocument#serializeAndConsume doesn't consume the document > ----------------------------------------------------------- > > Key: WSCOMMONS-449 > URL: https://issues.apache.org/jira/browse/WSCOMMONS-449 > Project: WS-Commons > Issue Type: Bug > Components: AXIOM > Affects Versions: Axiom 1.2.8 > Reporter: Andreas Veithen > Priority: Minor > > OMDocument#serializeAndConsume doesn't consume the document but instead fully > builds it. > This is caused by the following piece of code: > while (children.hasNext()) { > OMNodeEx omNode = (OMNodeEx) children.next(); > omNode.internalSerializeAndConsume(writer); > } > As described in WSCOMMONS-346, the call to Iterator#next() actually builds > the returned node, so that the call to internalSerializeAndConsume has the > same effect as serialization with caching enabled. This means that the code > fully builds the document. > Note that the code actually doesn't make sense because once a child (in > particular the document element) has been consumed, it is not possible to > retrieve the next sibling. This means that even if WSCOMMONS-346 is solved, > to code still wouldn't behave as expected. Worse, it would trigger an > exception. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.