(SOAP1.1 - LLOM) SOAPEnvelopeImpl.getHeader() creates incorrect element ordering
--------------------------------------------------------------------------------
Key: WSCOMMONS-22
URL: http://issues.apache.org/jira/browse/WSCOMMONS-22
Project: WS-Commons
Type: Bug
Components: AXIOM
Environment: Axiom 1.0 - Should happen in all environments
Reporter: Nick Gallardo
Attachments: SOAPEnvTest.java
There is a minor bug in the LLOM SOAP API whereby, calling
SOAPEnvelopeImpl.getHeader() will result in an incorrect ordering of the OM
tree. Specifically, the SOAPHeader.nextSibling property will point back to
itself rather than pointing to the SOAPBody. Here's the code snippet to
re-create it.
I've create a simple test case that should be pretty straight forward.
To fix the bug, you just have to remove the line marked like this
(<remove>foo</remove>) below. Before this point, the SOAPHeader has already
been added as a child and is correctly pointing at the SOAPBody as its sibling.
public SOAPHeader getHeader() throws OMException {
SOAPHeader header =
(SOAPHeader) getFirstChildWithName(
new QName(SOAPConstants.HEADER_LOCAL_NAME));
if (builder == null && header == null) {
inferFactory();
header = ((SOAPFactory) factory).createSOAPHeader(this);
<remove>addChild(header);</remove>
}
return header;
}
I've made this change and re-run the tests with no failures.
--
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