Some code simplifications.
diff --git a/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java b/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
index f127879..b92cd34 100644
--- a/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
+++ b/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
@@ -51,7 +51,6 @@
import org.apache.sandesha2.util.FaultManager;
import org.apache.sandesha2.util.MsgInitializer;
import org.apache.sandesha2.util.RMMsgCreator;
-import org.apache.sandesha2.util.SOAPAbstractFactory;
import org.apache.sandesha2.util.SandeshaUtil;
import org.apache.sandesha2.util.SpecSpecificConstants;
import org.apache.sandesha2.util.WSRMMessageSender;
@@ -163,7 +162,7 @@
ackMsgCtx.setMessageID(SandeshaUtil.getUUID());
//adding the SOAP Envelope
- SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SandeshaUtil.getSOAPVersion(msgContext.getEnvelope()));
+ SOAPFactory factory = (SOAPFactory)msgContext.getEnvelope().getOMFactory();
SOAPEnvelope envelope = factory.getDefaultEnvelope();
try {
ackMsgCtx.setEnvelope(envelope);
diff --git a/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java b/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
index 1608c75..d9ad4a7 100644
--- a/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
+++ b/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
@@ -53,7 +53,6 @@
import org.apache.sandesha2.util.FaultManager;
import org.apache.sandesha2.util.LoggingControl;
import org.apache.sandesha2.util.MsgInitializer;
-import org.apache.sandesha2.util.SOAPAbstractFactory;
import org.apache.sandesha2.util.SandeshaUtil;
import org.apache.sandesha2.util.SpecSpecificConstants;
import org.apache.sandesha2.workers.SandeshaThread;
@@ -369,15 +368,7 @@
private static void addMessagePendingHeader(MessageContext returnMessage, String namespace) {
MessagePending messagePending = new MessagePending();
messagePending.setPending(true);
- if (returnMessage.getEnvelope().getHeader() == null) {
- int SOAPVersion = Sandesha2Constants.SOAPVersion.v1_1;
- if (!returnMessage.isSOAP11())
- SOAPVersion = Sandesha2Constants.SOAPVersion.v1_2;
- //The header might not be there because of the persistence code if it doesn't exist we need to add one
- SOAPAbstractFactory.getSOAPFactory(
- SOAPVersion).createSOAPHeader(returnMessage.getEnvelope());
- }
- messagePending.toHeader(returnMessage.getEnvelope().getHeader());
+ messagePending.toHeader(returnMessage.getEnvelope().getOrCreateHeader());
}
public boolean processOutMessage(RMMsgContext rmMsgCtx, Transaction transaction) {
diff --git a/modules/core/src/main/java/org/apache/sandesha2/util/AcknowledgementManager.java b/modules/core/src/main/java/org/apache/sandesha2/util/AcknowledgementManager.java
index 45e74b4..4f329f5 100644
--- a/modules/core/src/main/java/org/apache/sandesha2/util/AcknowledgementManager.java
+++ b/modules/core/src/main/java/org/apache/sandesha2/util/AcknowledgementManager.java
@@ -201,7 +201,7 @@
ackMsgCtx.setMessageID(SandeshaUtil.getUUID());
- SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SandeshaUtil.getSOAPVersion(referenceMsg.getEnvelope()));
+ SOAPFactory factory = (SOAPFactory)referenceMsg.getEnvelope().getOMFactory();
// Setting new envelope
SOAPEnvelope envelope = factory.getDefaultEnvelope();
diff --git a/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java b/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java
index dcbb7c9..4c23d81 100644
--- a/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java
+++ b/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java
@@ -454,7 +454,7 @@
MessageContext outMessage = MessageContextBuilder.createOutMessageContext (requestMsg.getMessageContext());
RMMsgContext responseRMMsg = new RMMsgContext(outMessage);
- SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SandeshaUtil.getSOAPVersion(requestMsg.getSOAPEnvelope()));
+ SOAPFactory factory = (SOAPFactory)requestMsg.getSOAPEnvelope().getOMFactory();
String namespace = requestMsg.getRMNamespaceValue();
responseRMMsg.setRMNamespaceValue(namespace);
diff --git a/modules/core/src/main/java/org/apache/sandesha2/util/SOAPFaultEnvelopeCreator.java b/modules/core/src/main/java/org/apache/sandesha2/util/SOAPFaultEnvelopeCreator.java
index 66029b1..367c0a2 100644
--- a/modules/core/src/main/java/org/apache/sandesha2/util/SOAPFaultEnvelopeCreator.java
+++ b/modules/core/src/main/java/org/apache/sandesha2/util/SOAPFaultEnvelopeCreator.java
@@ -148,8 +148,7 @@
throw new SandeshaException(SandeshaMessageHelper.getMessage(
SandeshaMessageKeys.soapEnvNotSet));
- SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SandeshaUtil
- .getSOAPVersion(faultMsgEnvelope));
+ SOAPFactory factory = (SOAPFactory)faultMsgEnvelope.getOMFactory();
SOAPFault fault = faultMsgEnvelope.getBody().getFault();
@@ -182,8 +181,7 @@
throw new SandeshaException(SandeshaMessageHelper.getMessage(
SandeshaMessageKeys.soapEnvNotSet));
- SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SandeshaUtil
- .getSOAPVersion(faultEnvelope));
+ SOAPFactory factory = (SOAPFactory)faultEnvelope.getOMFactory();
SOAPFault fault = faultEnvelope.getBody().getFault();
if (fault == null)
diff --git a/modules/core/src/main/java/org/apache/sandesha2/util/SandeshaUtil.java b/modules/core/src/main/java/org/apache/sandesha2/util/SandeshaUtil.java
index 27821dd..de5a18d 100644
--- a/modules/core/src/main/java/org/apache/sandesha2/util/SandeshaUtil.java
+++ b/modules/core/src/main/java/org/apache/sandesha2/util/SandeshaUtil.java
@@ -430,8 +430,7 @@
operationContext.addMessageContext(newMessageContext);
// adding a blank envelope
- SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SandeshaUtil.getSOAPVersion(referenceMessage
- .getEnvelope()));
+ SOAPFactory factory = (SOAPFactory)referenceMessage.getEnvelope().getOMFactory();
newMessageContext.setEnvelope(factory.getDefaultEnvelope());
newMessageContext.setTransportIn(referenceMessage.getTransportIn());