Author: veithen Date: Tue May 15 19:53:11 2012 New Revision: 1338864 URL: http://svn.apache.org/viewvc?rev=1338864&view=rev Log: Eliminated a dependency on the bug described in AXIOM-422; the children of a SOAPHeaderBlock should be plain OMElements, not SOAPHeaderBlocks.
Modified: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/wsrm/AcksTo.java axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/wsrm/Endpoint.java axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/wsrm/SequenceAcknowledgement.java Modified: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/wsrm/AcksTo.java URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/wsrm/AcksTo.java?rev=1338864&r1=1338863&r2=1338864&view=diff ============================================================================== --- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/wsrm/AcksTo.java (original) +++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/wsrm/AcksTo.java Tue May 15 19:53:11 2012 @@ -102,7 +102,9 @@ public class AcksTo implements IOMRMElem SandeshaMessageKeys.cannotSetAcksTo, null)); - OMFactory factory = element.getOMFactory(); + // Ensure that we use the plain OMFactory (and not SOAPFactory). This forces + // EndpointReferenceHelper.toOM to create an OMElement instead of a SOAPHeaderBlock. + OMFactory factory = element.getOMFactory().getMetaFactory().getOMFactory(); QName acksTo = new QName (rmNamespaceValue,Sandesha2Constants.WSRM_COMMON.ACKS_TO, Sandesha2Constants.WSRM_COMMON.NS_PREFIX_RM); OMElement endpointElement = EndpointReferenceHelper.toOM (factory,epr, acksTo ,addressingNamespaceValue); Modified: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/wsrm/Endpoint.java URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/wsrm/Endpoint.java?rev=1338864&r1=1338863&r2=1338864&view=diff ============================================================================== --- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/wsrm/Endpoint.java (original) +++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/wsrm/Endpoint.java Tue May 15 19:53:11 2012 @@ -93,7 +93,9 @@ public class Endpoint implements IOMRMEl SandeshaMessageKeys.cannotSetEndpoint, null)); - OMFactory factory = element.getOMFactory(); + // Ensure that we use the plain OMFactory (and not SOAPFactory). This forces + // EndpointReferenceHelper.toOM to create an OMElement instead of a SOAPHeaderBlock. + OMFactory factory = element.getOMFactory().getMetaFactory().getOMFactory(); QName endpoint = new QName (rmNamespaceValue,Sandesha2Constants.WSRM_COMMON.ENDPOINT, Sandesha2Constants.WSRM_COMMON.NS_PREFIX_RM); OMElement endpointElement = EndpointReferenceHelper.toOM (factory, epr, endpoint, addressingNamespaceValue); Modified: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/wsrm/SequenceAcknowledgement.java URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/wsrm/SequenceAcknowledgement.java?rev=1338864&r1=1338863&r2=1338864&view=diff ============================================================================== --- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/wsrm/SequenceAcknowledgement.java (original) +++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/wsrm/SequenceAcknowledgement.java Tue May 15 19:53:11 2012 @@ -74,7 +74,7 @@ public class SequenceAcknowledgement imp } public Object fromHeaderBlock(SOAPHeaderBlock sequenceAckElement) throws OMException,SandeshaException { - originalSequenceAckElement = sequenceAckElement; + originalSequenceAckElement = sequenceAckElement.cloneOMElement(); OMElement identifierPart = null; Iterator childElements = sequenceAckElement.getChildElements(); while(childElements.hasNext()){