You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by ga...@apache.org on 2006/12/20 07:35:11 UTC

svn commit: r488931 [1/2] - in /webservices/sandesha/trunk/java: src/org/apache/sandesha2/ src/org/apache/sandesha2/handlers/ src/org/apache/sandesha2/msgprocessors/ src/org/apache/sandesha2/msgreceivers/ src/org/apache/sandesha2/util/ src/org/apache/s...

Author: gatfora
Date: Tue Dec 19 22:35:09 2006
New Revision: 488931

URL: http://svn.apache.org/viewvc?view=rev&rev=488931
Log:
Enable RM to work when no addressing headers are present

Modified:
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/MessageValidator.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/RMMsgContext.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MsgInitializer.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/InvokerWorker.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Accept.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/AcksTo.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Address.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequence.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequenceResponse.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Endpoint.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/SequenceOffer.java
    webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/versions/AddressingVersionTest.java
    webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/wsrm/CreateSequenceResponseTest.java
    webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/wsrm/CreateSequenceTest.java
    webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/wsrm/MakeConnectionTest.java

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/MessageValidator.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/MessageValidator.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/MessageValidator.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/MessageValidator.java Tue Dec 19 22:35:09 2006
@@ -39,25 +39,15 @@
 			if (sequenceID != null) {
 				String rmVersionOfSequence = SandeshaUtil.getSequenceProperty(sequenceID,
 						Sandesha2Constants.SequenceProperties.RM_SPEC_VERSION, storageManager);
-				String addressingNamespaceOfSequence = SandeshaUtil.getSequenceProperty(sequenceID,
-						Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE, storageManager);
 
 				String rmNamespaceOfMsg = rmMsg.getRMNamespaceValue();
 				String rmNamespaceOfSequence = null;
 				if (rmVersionOfSequence != null)
 					rmNamespaceOfSequence = SpecSpecificConstants.getRMNamespaceValue(rmVersionOfSequence);
-				String addressingNamespaceOfMsg = rmMsg.getAddressingNamespaceValue();
 
 				if (rmNamespaceOfSequence != null && !rmNamespaceOfSequence.equals(rmNamespaceOfMsg)) {
 					String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.rmNamespaceNotMatchSequence,
 							rmNamespaceOfMsg, rmNamespaceOfSequence, sequenceID);
-					throw new SandeshaException(message);
-				}
-
-				if (addressingNamespaceOfSequence != null
-						&& !addressingNamespaceOfSequence.equals(addressingNamespaceOfMsg)) {
-					String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.wsaNamespaceNotMatchSequence,
-							addressingNamespaceOfMsg, addressingNamespaceOfSequence, sequenceID);
 					throw new SandeshaException(message);
 				}
 

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/RMMsgContext.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/RMMsgContext.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/RMMsgContext.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/RMMsgContext.java Tue Dec 19 22:35:09 2006
@@ -23,13 +23,10 @@
 
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.addressing.RelatesTo;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
-import org.apache.sandesha2.i18n.SandeshaMessageHelper;
-import org.apache.sandesha2.i18n.SandeshaMessageKeys;
 import org.apache.sandesha2.util.SOAPAbstractFactory;
 import org.apache.sandesha2.wsrm.IOMRMPart;
 
@@ -48,8 +45,6 @@
 
 	private String rmNamespaceValue = null;
 	
-	private String addressingNamespaceValue = null;
-	
 	private String rmSpecVersion = null;
 	
 	public RMMsgContext() {
@@ -318,19 +313,6 @@
 		return msgContext.getFLOW();
 	}
 
-	public String getAddressingNamespaceValue() {
-		return addressingNamespaceValue;
-	}
-
-	public void setAddressingNamespaceValue(String addressingNamespaceValue) throws SandeshaException {
-		if (!AddressingConstants.Submission.WSA_NAMESPACE.equals(addressingNamespaceValue) &&
-			!AddressingConstants.Final.WSA_NAMESPACE.equals(addressingNamespaceValue))
-			throw new SandeshaException (SandeshaMessageHelper.getMessage(
-					SandeshaMessageKeys.unknownWSAVersion, addressingNamespaceValue));
-		
-		this.addressingNamespaceValue = addressingNamespaceValue;
-	}
-	
 	/**
 	 * This will return the sequenceId if it could be derived from the SOAP envelope, in the
 	 * message initiation.

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java Tue Dec 19 22:35:09 2006
@@ -19,6 +19,8 @@
 
 import javax.xml.namespace.QName;
 
+import org.apache.axis2.addressing.AddressingConstants;
+
 /**
  * Contains all the Sandesha2Constants of Sandesha2.
  * Please see sub-interfaces to see grouped data.
@@ -38,6 +40,8 @@
 		
 		String SEC_NS_URI = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
 		
+		String ADDRESSING_NS_URI = AddressingConstants.Submission.WSA_NAMESPACE;
+		
 		public interface Actions {
 
 			String ACTION_CREATE_SEQUENCE = "http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence";
@@ -63,6 +67,7 @@
 		String NS_URI               = "http://docs.oasis-open.org/ws-rx/wsrm/200608";
 		String ANONYMOUS_URI_PREFIX = "http://docs.oasis-open.org/ws-rx/wsrm/200608/anonymous?id=";
 		String SEC_NS_URI           = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
+		String ADDRESSING_NS_URI    = AddressingConstants.Final.WSA_NAMESPACE;
 
 		public interface Actions {
 			
@@ -249,9 +254,6 @@
 											   // sequenceId to share data b/w
 											   // sequences
 		
-		//Addressing version of a sequence. All messages of a sequence should have this addressing versio
-		String ADDRESSING_NAMESPACE_VALUE = "AddressingNamespaceValue";
-
 		//For incoming sequences this gives the msg no's of the messages that were
 		//received (may be an ack was sent - depending on the policy)
 		//For out going sequences this gives the messages that were sent and that were successfully

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java Tue Dec 19 22:35:09 2006
@@ -128,23 +128,6 @@
 		}
 	}
 
-	private void continueUncompletedSequences(StorageManager storageManager,
-			ConfigurationContext configCtx) {
-		// server side continues
-		// SandeshaUtil.startInvokerIfStopped(configCtx);
-
-		// server side re-injections
-
-		// reinject everything that has been acked within the in-handler but
-		// have not been invoked.
-
-		// client side continues
-		// SandeshaUtil.startSenderIfStopped(configCtx);
-
-		// client side re-injections
-
-	}
-	
 	public PolicyExtension getPolicyExtension() {
 		return new RMPolicyExtension();
 	}
@@ -153,26 +136,6 @@
 		//removing the threads started by Sandesha2.
 		SandeshaUtil.stopSender (configurationContext);
 		SandeshaUtil.stopInvoker(configurationContext);
-	}
-
-	// Removing data of uncontinuuable sequences so that the sandesha2 system
-	// will not be confused
-	private void cleanStorage(StorageManager storageManager) throws AxisFault {
-
-		
-
-		// server side cleaning
-
-		// cleaning NextMsgData
-		// Cleaning InvokerData
-
-		// client side cleaning
-
-		// cleaning RetransmitterData
-		// cleaning CreateSequenceData
-
-		// cleaning sequence properties
-
 	}
 
     public void applyPolicy(Policy policy, AxisDescription axisDescription) throws AxisFault {

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java Tue Dec 19 22:35:09 2006
@@ -27,7 +27,6 @@
 import org.apache.sandesha2.MessageValidator;
 import org.apache.sandesha2.RMMsgContext;
 import org.apache.sandesha2.Sandesha2Constants;
-import org.apache.sandesha2.SandeshaException;
 import org.apache.sandesha2.i18n.SandeshaMessageHelper;
 import org.apache.sandesha2.i18n.SandeshaMessageKeys;
 import org.apache.sandesha2.msgprocessors.AckRequestedProcessor;
@@ -101,14 +100,7 @@
 			//This is responsible for Sandesha2 specific 
 			FaultManager.processMessagesForFaults(msgCtx);
 			
-			RMMsgContext rmMsgCtx = null;
-			try {
-				rmMsgCtx = MsgInitializer.initializeMessage(msgCtx);
-			} catch (SandeshaException ex) {
-				String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.cannotInnitMessage);
-				log.debug(message);
-				throw new AxisFault(message, ex);
-			}
+			RMMsgContext rmMsgCtx = MsgInitializer.initializeMessage(msgCtx);
 
 			// validating the message
 			MessageValidator.validateMessage(rmMsgCtx, storageManager);

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java Tue Dec 19 22:35:09 2006
@@ -28,7 +28,6 @@
 import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.Constants;
-import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
@@ -179,13 +178,6 @@
 		ackMsgCtx.setReplyTo(msgContext.getTo());
 		RMMsgCreator.addAckMessage(ackRMMsgCtx,sequencePropertyKey,sequenceId, storageManager);
 		ackRMMsgCtx.getMessageContext().setServerSide(true);
-		ackMsgCtx.setProperty(AddressingConstants.WS_ADDRESSING_VERSION, msgContext
-				.getProperty(AddressingConstants.WS_ADDRESSING_VERSION)); // TODO
-																			// do
-																			// this
-																			// in
-																			// the
-																			// RMMsgCreator
 
 		if (acksTo.hasAnonymousAddress()) {
 

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java Tue Dec 19 22:35:09 2006
@@ -330,22 +330,20 @@
 		OperationContext operationContext = msgContext.getOperationContext();
 
 		// SENDING THE CREATE SEQUENCE.
-		EndpointReference acksToEPR = new EndpointReference(null); //use this to hold the acksTo EPR
 		if (sendCreateSequence) {
+			EndpointReference acksToEPR = null;
 			SequencePropertyBean responseCreateSeqAdded = seqPropMgr.retrieve(sequencePropertyKey,
 					Sandesha2Constants.SequenceProperties.OUT_CREATE_SEQUENCE_SENT);
 
-			String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(sequencePropertyKey,
-					Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE, storageManager);
-			String anonymousURI = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceURI);
-
 			if (responseCreateSeqAdded == null) {
 				responseCreateSeqAdded = new SequencePropertyBean(sequencePropertyKey,
 						Sandesha2Constants.SequenceProperties.OUT_CREATE_SEQUENCE_SENT, "true");
 				seqPropMgr.insert(responseCreateSeqAdded);
 
-				if (serviceContext != null)
-						acksToEPR.setAddress((String) msgContext.getProperty(SandeshaClientConstants.AcksTo));
+				if (serviceContext != null) {
+					String address = (String) msgContext.getProperty(SandeshaClientConstants.AcksTo);
+					if(address != null) acksToEPR = new EndpointReference(address);
+				}
 
 				if (msgContext.isServerSide()) {
 					// we do not set acksTo value to anonymous when the create
@@ -366,28 +364,25 @@
 					acksToEPR = requestMessage.getTo();
 
 				} else {
-					if (acksToEPR.getAddress() == null){
+					if (acksToEPR == null){
 						EndpointReference replyToEPR = msgContext.getReplyTo();
 						
 						if(replyToEPR!=null && !replyToEPR.getAddress().equals("")){
 							//use the replyTo address as acksTo
 							if (log.isDebugEnabled())
-								log.debug("Using replyTo " + replyToEPR + " EPR as AcksTo, addr=" + acksToEPR.getAddress());
+								log.debug("Using replyTo " + replyToEPR + " EPR as AcksTo, addr=" + replyToEPR.getAddress());
 							
 							acksToEPR = replyToEPR;
 						}
-						else{
-							acksToEPR.setAddress(anonymousURI);
-						}
 					}
 				}
 
-				if (acksToEPR.getAddress()!=null && !anonymousURI.equals(acksToEPR.getAddress()) && !serverSide) {
+				if (acksToEPR != null && !acksToEPR.hasAnonymousAddress() && !serverSide) {
 					String transportIn = (String) configContext // TODO verify
 							.getProperty(MessageContext.TRANSPORT_IN);
 					if (transportIn == null)
 						transportIn = org.apache.axis2.Constants.TRANSPORT_HTTP;
-				} else if (acksToEPR.getAddress() == null && serverSide) {
+				} else if (acksToEPR == null && serverSide) {
 //					String incomingSequencId = SandeshaUtil
 //							.getServerSideIncomingSeqIdFromInternalSeqId(internalSequenceId);
 					
@@ -402,17 +397,11 @@
 						if (bean != null) {
 							String beanAcksToValue = bean.getValue();
 							if (beanAcksToValue != null)
-								acksToEPR.setAddress(beanAcksToValue);
+								acksToEPR = new EndpointReference(beanAcksToValue);
 						}
 					} catch (AxisFault e) {
 						throw new SandeshaException (e);
 					}
-				} else if (anonymousURI.equals(acksToEPR.getAddress())) {
-					// set transport in.
-					Object trIn = msgContext.getProperty(MessageContext.TRANSPORT_IN);
-					if (trIn == null) {
-						// TODO
-					}
 				}
 				addCreateSequenceMessage(rmMsgCtx, sequencePropertyKey ,internalSequenceId, acksToEPR, storageManager);
 			}
@@ -546,13 +535,11 @@
 		
 		createSeqMgr.insert(rMSBean);
 
-		String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(sequencePropertyKey,
-				Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE, storageManager);
-		String anonymousURI = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceURI);
-
-		if (createSeqMsg.getReplyTo() == null)
-			createSeqMsg.setReplyTo(new EndpointReference(anonymousURI));
-
+//		if (createSeqMsg.getReplyTo() == null) {
+//			String anonymousURI = SpecSpecificConstants.getAddressingAnonymousURI(createSeqMsg);
+//			createSeqMsg.setReplyTo(new EndpointReference(anonymousURI));
+//		}
+//		
 		SenderBean createSeqEntry = new SenderBean();
 		createSeqEntry.setMessageContextRefKey(createSequenceMessageStoreKey);
 		createSeqEntry.setTimeToSend(System.currentTimeMillis());

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java Tue Dec 19 22:35:09 2006
@@ -28,7 +28,6 @@
 import org.apache.axis2.context.OperationContext;
 import org.apache.axis2.description.AxisOperation;
 import org.apache.axis2.engine.AxisEngine;
-import org.apache.axis2.util.Utils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.sandesha2.RMMsgContext;
@@ -119,16 +118,8 @@
 
 		MessageContext closeSequenceMsg = rmMsgCtx.getMessageContext();
 
-		MessageContext closeSequenceResponseMsg = null;
-
-		try {
-			closeSequenceResponseMsg = Utils.createOutMessageContext(closeSequenceMsg);
-		} catch (AxisFault e1) {
-			throw new SandeshaException(e1);
-		}
-
-		RMMsgContext closeSeqResponseRMMsg = RMMsgCreator.createCloseSeqResponseMsg(rmMsgCtx, closeSequenceResponseMsg,
-				storageManager);
+		RMMsgContext closeSeqResponseRMMsg = RMMsgCreator.createCloseSeqResponseMsg(rmMsgCtx);
+		MessageContext closeSequenceResponseMsg = closeSeqResponseRMMsg.getMessageContext();
 
 		while (sequenceAckIter.hasNext()) {
 			SequenceAcknowledgement sequenceAcknowledgement = (SequenceAcknowledgement) sequenceAckIter.next();

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java Tue Dec 19 22:35:09 2006
@@ -27,7 +27,6 @@
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.context.OperationContext;
 import org.apache.axis2.engine.AxisEngine;
-import org.apache.axis2.util.Utils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.sandesha2.RMMsgContext;
@@ -97,14 +96,6 @@
 		}
 
 		MessageContext outMessage = null;
-		try {
-			outMessage = Utils.createOutMessageContext(createSeqMsg); // createing
-																		// a new
-																		// response
-																		// message.
-		} catch (AxisFault e1) {
-			throw new SandeshaException(e1);
-		}
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropertyBeanMgr();
 
 		try {
@@ -112,10 +103,9 @@
 			// sequence state.
 			String newSequenceId = SequenceManager.setupNewSequence(createSeqRMMsg, storageManager, secManager, token);
 			
-			RMMsgContext createSeqResponse = RMMsgCreator.createCreateSeqResponseMsg(createSeqRMMsg, outMessage,
-					newSequenceId, storageManager); // converting the blank out
-													// message in to a create
-			// sequence response.
+			RMMsgContext createSeqResponse = RMMsgCreator.createCreateSeqResponseMsg(createSeqRMMsg, newSequenceId);
+			outMessage = createSeqResponse.getMessageContext();
+			
 			createSeqResponse.setFlow(MessageContext.OUT_FLOW);
 
 			createSeqResponse.setProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE, "true"); // for
@@ -159,7 +149,6 @@
 																				// dummy
 																				// value.
 					
-					
 					String outgoingSideSequencePropertyKey = outgoingSideInternalSequenceId;
 
 					RMSBeanMgr createSeqMgr = storageManager.getRMSBeanMgr();
@@ -257,21 +246,19 @@
 						e);
 			}
 
+			boolean anon = true;
 			SequencePropertyBean toBean = seqPropMgr.retrieve(newSequenceId,
 					Sandesha2Constants.SequenceProperties.TO_EPR);
-			if (toBean == null) {
-				String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.toEPRNotValid, null);
-				log.debug(message);
-				throw new SandeshaException(message);
+			if (toBean != null) {
+				EndpointReference toEPR = new EndpointReference(toBean.getValue());
+				if (!toEPR.hasAnonymousAddress()) anon = false;
 			}
-
-			EndpointReference toEPR = new EndpointReference(toBean.getValue());
-			if (toEPR.hasAnonymousAddress()) {
+			if(anon) {
 				createSeqMsg.getOperationContext().setProperty(org.apache.axis2.Constants.RESPONSE_WRITTEN, "true");
 			} else {
 				createSeqMsg.getOperationContext().setProperty(org.apache.axis2.Constants.RESPONSE_WRITTEN, "false");
 			}
-
+			
 		} catch (AxisFault e1) {
 			throw new SandeshaException(e1);
 		}

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java Tue Dec 19 22:35:09 2006
@@ -26,6 +26,8 @@
 import org.apache.axis2.addressing.RelatesTo;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.context.OperationContext;
+import org.apache.axis2.wsdl.WSDLConstants;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.sandesha2.RMMsgContext;
@@ -92,12 +94,20 @@
 		}
 
 		RelatesTo relatesTo = createSeqResponseRMMsgCtx.getMessageContext().getRelatesTo();
-		if (relatesTo == null) {
+		String createSeqMsgId = null;
+		if (relatesTo != null) {
+			createSeqMsgId = relatesTo.getValue();
+		} else {
+			// Work out the related message from the operation context
+			OperationContext context = createSeqResponseRMMsgCtx.getMessageContext().getOperationContext();
+			MessageContext createSeq = context.getMessageContext(WSDLConstants.MESSAGE_LABEL_OUT_VALUE);
+			if(createSeq != null) createSeqMsgId = createSeq.getMessageID();
+		}
+		if(createSeqMsgId == null) {
 			String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.relatesToNotAvailable);
 			log.error(message);
 			throw new SandeshaException(message);
 		}
-		String createSeqMsgId = relatesTo.getValue();
 
 		SenderBeanMgr retransmitterMgr = storageManager.getSenderBeanMgr();
 		RMSBeanMgr createSeqMgr = storageManager.getRMSBeanMgr();
@@ -194,7 +204,6 @@
 			RMDBean rMDBean = new RMDBean();
 			rMDBean.setSequenceID(offeredSequenceId);
 			rMDBean.setNextMsgNoToProcess(1);
-			
 
 			//Storing the referenceMessage of the sending side sequence as the reference message
 			//of the receiving side as well.
@@ -215,7 +224,7 @@
 				String replyToAddress = SandeshaUtil.getSequenceProperty(sequencePropertyKey, 
 								Sandesha2Constants.SequenceProperties.REPLY_TO_EPR, storageManager);
 				EndpointReference ref = new EndpointReference(replyToAddress);
-				if(!createSeqBean.isPollingMode() && ref.hasAnonymousAddress()) {
+				if(!createSeqBean.isPollingMode() && (replyToAddress == null || ref.hasAnonymousAddress())) {
 					rMDBean.setPollingMode(true);
 					SandeshaUtil.startPollingManager(configCtx);
 				}
@@ -239,12 +248,6 @@
 			msgsBean.setName(Sandesha2Constants.SequenceProperties.CLIENT_COMPLETED_MESSAGES);
 			msgsBean.setValue("");
 			sequencePropMgr.insert(msgsBean);
-
-			// setting the addressing version.
-			String addressingNamespace = createSeqResponseRMMsgCtx.getAddressingNamespaceValue();
-			SequencePropertyBean addressingVersionBean = new SequencePropertyBean(offeredSequenceId,
-					Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE, addressingNamespace);
-			sequencePropMgr.insert(addressingVersionBean);
 
 			// Store the security token for the offered sequence
 			if(tokenData != null) {

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java Tue Dec 19 22:35:09 2006
@@ -164,10 +164,18 @@
 		}
 
 		if (msgNo > highestInMsgNo) {
+			// If WS-Addressing is turned off there may not be a message id written into the SOAP
+			// headers, but we can still fake one up to help us match up requests and replies within
+			// this end of the connection.
+			String messageId = msgCtx.getMessageID();
+			if(messageId == null) {
+				messageId = SandeshaUtil.getUUID();
+				msgCtx.setMessageID(messageId);
+			}
 			SequencePropertyBean highestMsgNoBean = new SequencePropertyBean(propertyKey,
 					Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_NUMBER, Long.toString(msgNo));
 			SequencePropertyBean highestMsgIdBean = new SequencePropertyBean(propertyKey,
-					Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_ID, msgCtx.getMessageID());
+					Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_ID, messageId);
 
 			if (highetsInMsgNoStr != null) {
 				seqPropMgr.update(highestMsgNoBean);

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java Tue Dec 19 22:35:09 2006
@@ -28,7 +28,6 @@
 import org.apache.axis2.context.OperationContextFactory;
 import org.apache.axis2.description.AxisOperation;
 import org.apache.axis2.engine.AxisEngine;
-import org.apache.axis2.util.Utils;
 import org.apache.axis2.wsdl.WSDLConstants.WSDL20_2004Constants;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -249,18 +248,8 @@
 		if (log.isDebugEnabled())
 			log.debug("Enter: TerminateSeqMsgProcessor::addTerminateSequenceResponse, " + sequenceId);
 
-		MessageContext terminateSeqMsg = terminateSeqRMMsg.getMessageContext();
-
-		MessageContext outMessage = null;
-
-		try {
-			outMessage = Utils.createOutMessageContext(terminateSeqMsg);
-		} catch (AxisFault e1) {
-			throw new SandeshaException(e1);
-		}
-
-		RMMsgContext terminateSeqResponseRMMsg = RMMsgCreator.createTerminateSeqResponseMsg(terminateSeqRMMsg,
-				outMessage, storageManager);
+		RMMsgContext terminateSeqResponseRMMsg = RMMsgCreator.createTerminateSeqResponseMsg(terminateSeqRMMsg);
+		MessageContext outMessage = terminateSeqResponseRMMsg.getMessageContext();
 
 		RMMsgContext ackRMMessage = AcknowledgementManager.generateAckMessage(terminateSeqRMMsg, sequencePropertyKey, 
 				sequenceId,	storageManager);

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java Tue Dec 19 22:35:09 2006
@@ -49,7 +49,7 @@
 		if(log.isDebugEnabled()) log.debug("Entry: RMMessageReceiver::receive");
 		
 		RMMsgContext rmMsgCtx = MsgInitializer.initializeMessage(msgCtx);
-		if(log.isDebugEnabled()) log.debug("MsgReceiver got type:" + SandeshaUtil.getMessageTypeString(rmMsgCtx.getMessageType()));	
+		if(log.isDebugEnabled()) log.debug("MsgReceiver got type: " + SandeshaUtil.getMessageTypeString(rmMsgCtx.getMessageType()));	
 
 		// Note that some messages (such as stand-alone acks) will be routed here, but
 		// the headers will already have been processed. Therefore we should not assume
@@ -97,4 +97,4 @@
 
 		if(log.isDebugEnabled()) log.debug("Exit: RMMessageReceiver::receive");
 	}
-}
\ No newline at end of file
+}

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java Tue Dec 19 22:35:09 2006
@@ -29,7 +29,6 @@
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
@@ -258,11 +257,6 @@
 
 		// adding the SequenceAcknowledgement part.
 		RMMsgCreator.addAckMessage(ackRMMsgCtx, sequencePropertyKey ,sequenceId, storageManager);
-
-		String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(sequencePropertyKey,
-				Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE, storageManager);
-
-		ackMsgCtx.setProperty(AddressingConstants.WS_ADDRESSING_VERSION, addressingNamespaceURI);
 
 		if (log.isDebugEnabled())
 			log.debug("Exit: AcknowledgementManager::generateAckMessage");

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java Tue Dec 19 22:35:09 2006
@@ -111,8 +111,7 @@
 			
 			if (log.isDebugEnabled())
 				log.debug("Exit: FaultManager::checkForCreateSequenceRefused, refused sequence");
-			getFault(createSequenceRMMsg, data, createSequenceRMMsg.getAddressingNamespaceValue(),
-					storageManager);
+			getFault(createSequenceRMMsg, data, storageManager);
 		}
 
 		if (log.isDebugEnabled())
@@ -171,8 +170,7 @@
 			
 			if (log.isDebugEnabled())
 				log.debug("Exit: FaultManager::checkForLastMsgNumberExceeded, lastMessageNumberExceeded");
-			getFault(applicationRMMessage, faultData, applicationRMMessage.getAddressingNamespaceValue(),
-					storageManager);
+			getFault(applicationRMMessage, faultData, storageManager);
 		}
 
 		if (log.isDebugEnabled())
@@ -258,7 +256,7 @@
 
 			if (log.isDebugEnabled())
 				log.debug("Exit: FaultManager::checkForUnknownSequence, Sequence unknown");
-			getFault(rmMessageContext, data, rmMessageContext.getAddressingNamespaceValue(), storageManager);
+			getFault(rmMessageContext, data, storageManager);
 		}
 
 		if (log.isDebugEnabled())
@@ -331,8 +329,7 @@
 
 				if (log.isDebugEnabled())
 					log.debug("Exit: FaultManager::checkForInvalidAcknowledgement, invalid ACK");
-				getFault(ackRMMessageContext, data, ackRMMessageContext.getAddressingNamespaceValue(),
-						storageManager);
+				getFault(ackRMMessageContext, data, storageManager);
 			}
 		
 		}
@@ -380,7 +377,7 @@
 
 			if (log.isDebugEnabled())
 				log.debug("Exit: FaultManager::checkForSequenceClosed, sequence closed");
-			getFault(referenceRMMessage, data, referenceRMMessage.getAddressingNamespaceValue(), storageManager);
+			getFault(referenceRMMessage, data, storageManager);
 		}
 
 		if (log.isDebugEnabled())
@@ -393,13 +390,12 @@
 	 * 
 	 * @param referenceRMMsgContext - Message in reference to which the fault will be generated.
 	 * @param data - data for the fault
-	 * @param addressingNamespaceURI
 	 * @param storageManager
 	 * @return - The dummy fault to be thrown out.
 	 * 
 	 * @throws AxisFault
 	 */
-	public static void getFault (RMMsgContext referenceRMMsgContext, FaultData data, String addressingNamespaceURI,
+	public static void getFault (RMMsgContext referenceRMMsgContext, FaultData data,
 			StorageManager storageManager) throws AxisFault {
 		
 		SOAPFactory factory = (SOAPFactory) referenceRMMsgContext.getSOAPEnvelope().getOMFactory();

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MsgInitializer.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MsgInitializer.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MsgInitializer.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MsgInitializer.java Tue Dec 19 22:35:09 2006
@@ -156,9 +156,6 @@
 
 		rmMsgContext.setRMNamespaceValue(rmNamespace);
 
-		String addressingNamespaceValue = elements.getAddressingNamespaceValue();
-		if (addressingNamespaceValue != null)
-			rmMsgContext.setAddressingNamespaceValue(addressingNamespaceValue);
 	}
 
 	/**
@@ -229,7 +226,7 @@
 		} else if (closeSequenceResponse != null) {
 			rmMsgCtx.setMessageType(Sandesha2Constants.MessageTypes.CLOSE_SEQUENCE_RESPONSE);
 			sequenceID = closeSequenceResponse.getIdentifier().getIdentifier(); 
-		} else if (makeConnection != null){ {
+		} else if (makeConnection != null){
 			rmMsgCtx.setMessageType(Sandesha2Constants.MessageTypes.MAKE_CONNECTION_MSG);
 			if (makeConnection.getIdentifier()!=null) {
 				sequenceID = makeConnection.getIdentifier().getIdentifier();
@@ -239,7 +236,6 @@
 				throw new SandeshaException (
 						"Invalid MakeConnection message. Either Address or Identifier must be present");
 			}
-		}
 		} else
 			rmMsgCtx.setMessageType(Sandesha2Constants.MessageTypes.UNKNOWN);
 		

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java Tue Dec 19 22:35:09 2006
@@ -30,6 +30,7 @@
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.context.OperationContext;
 import org.apache.axis2.description.AxisOperation;
+import org.apache.axis2.util.Utils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.sandesha2.RMMsgContext;
@@ -53,7 +54,7 @@
 import org.apache.sandesha2.wsrm.CreateSequence;
 import org.apache.sandesha2.wsrm.CreateSequenceResponse;
 import org.apache.sandesha2.wsrm.Endpoint;
-import org.apache.sandesha2.wsrm.IOMRMElement;
+import org.apache.sandesha2.wsrm.IOMRMPart;
 import org.apache.sandesha2.wsrm.Identifier;
 import org.apache.sandesha2.wsrm.MakeConnection;
 import org.apache.sandesha2.wsrm.SequenceAcknowledgement;
@@ -118,10 +119,17 @@
 
 		String rmNamespaceValue = SpecSpecificConstants.getRMNamespaceValue(rmVersion);
 
-		String addressingNamespaceValue = SandeshaUtil.getSequenceProperty(sequencePropertyKey,
-				Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE, storageManager);
-
-		CreateSequence createSequencePart = new CreateSequence(rmNamespaceValue, addressingNamespaceValue);
+		// Decide which addressing version to use. We copy the version that the application
+		// is already using (if set), and fall back to the level in the spec if that isn't
+		// found.
+		String addressingNamespace = (String) applicationMsgContext.getProperty(AddressingConstants.WS_ADDRESSING_VERSION);
+		if(addressingNamespace == null) addressingNamespace = SpecSpecificConstants.getAddressingNamespace(rmNamespaceValue);
+		
+		// If acksTo has not been set, then default to anonaymous, using the correct spec level
+		String anon = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespace);
+		if(acksToEPR == null) acksToEPR = new EndpointReference(anon);
+		
+		CreateSequence createSequencePart = new CreateSequence(rmNamespaceValue);
 
 		// Adding sequence offer - if present
 		OperationContext operationcontext = applicationMsgContext.getOperationContext();
@@ -140,7 +148,6 @@
 			}
 			// Finally fall back to using an anonymous endpoint
 			if (offeredEndpoint==null) {
-				String anon = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceValue);
 				offeredEndpoint = new EndpointReference(anon);
 			}
 			if (offeredSequence != null && !"".equals(offeredSequence)) {
@@ -151,8 +158,7 @@
 				createSequencePart.setSequenceOffer(offerPart);
 				
 				if (Sandesha2Constants.SPEC_2006_08.NS_URI.equals(rmNamespaceValue)) {
-					Endpoint endpoint = new Endpoint (rmNamespaceValue,addressingNamespaceValue);
-					endpoint.setEPR (offeredEndpoint);
+					Endpoint endpoint = new Endpoint (offeredEndpoint, rmNamespaceValue, addressingNamespace);
 					offerPart.setEndpoint(endpoint);
 				}
 			}
@@ -164,12 +170,6 @@
 				Sandesha2Constants.SequenceProperties.REPLY_TO_EPR,
 				storageManager);
 
-		if (replyTo == null) {
-			// using wsa:Anonymous as ReplyTo
-			String addressingNamespace = applicationRMMsg.getAddressingNamespaceValue();
-			replyTo = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespace);
-		}
-
 		if (to == null) {
 			String message = SandeshaMessageHelper
 					.getMessage(SandeshaMessageKeys.toBeanNotSet);
@@ -178,18 +178,14 @@
 
 		// TODO store and retrieve a full EPR instead of just the address.
 		EndpointReference toEPR = new EndpointReference(to);
-		EndpointReference replyToEPR = new EndpointReference(replyTo);
-
 		createSeqRMMsg.setTo(toEPR);
-		createSeqRMMsg.setReplyTo(replyToEPR);
-
-		String anonymousURI = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceValue);
-
-		if (acksToEPR==null || acksToEPR.getAddress() == null || "".equals(acksToEPR.getAddress()))
-			acksToEPR = new EndpointReference(anonymousURI);
 
+		if(replyTo != null) {
+			EndpointReference replyToEPR = new EndpointReference(replyTo);
+			createSeqRMMsg.setReplyTo(replyToEPR);
+		}
 
-		AcksTo acksTo = new AcksTo(acksToEPR,rmNamespaceValue,addressingNamespaceValue);
+		AcksTo acksTo = new AcksTo(acksToEPR, rmNamespaceValue, addressingNamespace);
 		createSequencePart.setAcksTo(acksTo);
 		
 		createSeqRMMsg.setMessagePart(Sandesha2Constants.MessageParts.CREATE_SEQ, createSequencePart);
@@ -319,29 +315,14 @@
 	 * @return
 	 * @throws AxisFault
 	 */
-	public static RMMsgContext createCreateSeqResponseMsg(RMMsgContext createSeqMessage, MessageContext outMessage,
-			String newSequenceID, StorageManager storageManager) throws AxisFault {
-
-		SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SandeshaUtil.getSOAPVersion(createSeqMessage
-				.getSOAPEnvelope()));
-
-		IOMRMElement messagePart = createSeqMessage.getMessagePart(Sandesha2Constants.MessageParts.CREATE_SEQ);
-		CreateSequence cs = (CreateSequence) messagePart;
-
-		String rmVersion = SandeshaUtil.getRMVersion(newSequenceID, storageManager);
-		if (rmVersion == null)
-			throw new SandeshaException(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.cannotDecideRMVersion));
-
-		String rmNamespaceValue = SpecSpecificConstants.getRMNamespaceValue(rmVersion);
-		String addressingNamespaceValue = SandeshaUtil.getSequenceProperty(newSequenceID,
-				Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE, storageManager);
+	public static RMMsgContext createCreateSeqResponseMsg(RMMsgContext createSeqMessage, String newSequenceID) throws AxisFault {
 
-		CreateSequenceResponse response = new CreateSequenceResponse(rmNamespaceValue,
-				addressingNamespaceValue);
+		CreateSequence cs = (CreateSequence) createSeqMessage.getMessagePart(Sandesha2Constants.MessageParts.CREATE_SEQ);
+		String namespace = createSeqMessage.getRMNamespaceValue();
 
-		Identifier identifier = new Identifier(rmNamespaceValue);
+		CreateSequenceResponse response = new CreateSequenceResponse(namespace);
+		Identifier identifier = new Identifier(namespace);
 		identifier.setIndentifer(newSequenceID);
-
 		response.setIdentifier(identifier);
 
 		SequenceOffer offer = cs.getSequenceOffer();
@@ -350,124 +331,99 @@
 
 			if (outSequenceId != null && !"".equals(outSequenceId)) {
 
-				Accept accept = new Accept(rmNamespaceValue, addressingNamespaceValue);
-				EndpointReference acksToEPR = SandeshaUtil.cloneEPR (createSeqMessage.getTo());
+				Accept accept = new Accept(namespace);
+
+				// Putting the To EPR as the AcksTo for the response sequence. We echo back the
+				// addressing version that the create used.
+				String addressingNamespace = cs.getAddressingNamespaceValue();
+				EndpointReference acksToEPR = createSeqMessage.getTo();
+				if(acksToEPR != null) {
+					acksToEPR = SandeshaUtil.cloneEPR(acksToEPR);
+				} else {
+					String anon = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespace);
+					acksToEPR = new EndpointReference(anon);
+				}
 				
-				//putting the To EPR as the AcksTo for the response sequence.
-				AcksTo acksTo = new AcksTo(acksToEPR,rmNamespaceValue, addressingNamespaceValue);
+				AcksTo acksTo = new AcksTo(acksToEPR, namespace, cs.getAddressingNamespaceValue());
 				accept.setAcksTo(acksTo);
 				response.setAccept(accept);
 			}
-
 		}
 
-		SOAPEnvelope envelope = factory.getDefaultEnvelope();
-		response.toOMElement(envelope.getBody());
-		outMessage.setWSAAction(SpecSpecificConstants.getCreateSequenceResponseAction(SandeshaUtil.getRMVersion(
-				newSequenceID, storageManager)));
-		outMessage.setSoapAction(SpecSpecificConstants.getCreateSequenceResponseSOAPAction(SandeshaUtil.getRMVersion(
-				newSequenceID, storageManager)));
-		outMessage.setProperty(AddressingConstants.WS_ADDRESSING_VERSION, addressingNamespaceValue);
-
-		String newMessageId = SandeshaUtil.getUUID();
-		outMessage.setMessageID(newMessageId);
+		String version = SpecSpecificConstants.getSpecVersionString(namespace);
+		String action = SpecSpecificConstants.getCreateSequenceResponseAction(version);
 
-		outMessage.setEnvelope(envelope);
-
-		RMMsgContext createSeqResponse = null;
-		try {
-			createSeqResponse = MsgInitializer.initializeMessage(outMessage);
-		} catch (SandeshaException ex) {
-			throw new AxisFault(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.cannotInnitMessage), ex);
-		}
-
-		createSeqResponse.setMessagePart(Sandesha2Constants.MessageParts.CREATE_SEQ_RESPONSE, response);
-
-		createSeqMessage.getMessageContext().setServerSide(true);
-
-		// Ensure the correct token is used to secure the create sequence response
-		secureOutboundMessage(newSequenceID, outMessage);
-		
-		return createSeqResponse;
+		return createResponseMsg(createSeqMessage, response,
+				Sandesha2Constants.MessageParts.CREATE_SEQ_RESPONSE,
+				newSequenceID, action);
 	}
 
-	public static RMMsgContext createTerminateSeqResponseMsg(RMMsgContext terminateSeqRMMsg, MessageContext outMessage,
-			StorageManager storageManager) throws AxisFault {
+	public static RMMsgContext createTerminateSeqResponseMsg(RMMsgContext terminateSeqRMMsg) throws AxisFault {
         
-		RMMsgContext terminateSeqResponseRMMsg = new RMMsgContext(outMessage);
-
-		SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SandeshaUtil.getSOAPVersion(terminateSeqRMMsg
-				.getSOAPEnvelope()));
-
 		TerminateSequence terminateSequence = (TerminateSequence) terminateSeqRMMsg
 				.getMessagePart(Sandesha2Constants.MessageParts.TERMINATE_SEQ);
 		String sequenceID = terminateSequence.getIdentifier().getIdentifier();
 
 		String namespace = terminateSeqRMMsg.getRMNamespaceValue();
-		terminateSeqResponseRMMsg.setRMNamespaceValue(namespace);
 
 		TerminateSequenceResponse terminateSequenceResponse = new TerminateSequenceResponse(namespace);
 		Identifier identifier = new Identifier(namespace);
 		identifier.setIndentifer(sequenceID);
 		terminateSequenceResponse.setIdentifier(identifier);
 
-		SOAPEnvelope envelope = factory.getDefaultEnvelope();
-		terminateSeqResponseRMMsg.setSOAPEnvelop(envelope);
-		terminateSeqResponseRMMsg.setMessagePart(Sandesha2Constants.MessageParts.TERMINATE_SEQ_RESPONSE,
-				terminateSequenceResponse);
-
-		outMessage.setWSAAction(SpecSpecificConstants.getTerminateSequenceResponseAction(SandeshaUtil.getRMVersion(
-				sequenceID, storageManager)));
-		outMessage.setSoapAction(SpecSpecificConstants.getTerminateSequenceResponseAction(SandeshaUtil.getRMVersion(
-				sequenceID, storageManager)));
-
-		terminateSeqResponseRMMsg.addSOAPEnvelope();
+		String version = SpecSpecificConstants.getSpecVersionString(namespace);
+		String action = SpecSpecificConstants.getTerminateSequenceResponseAction(version);
 
-		terminateSeqResponseRMMsg.getMessageContext().setServerSide(true);
-		
-		// Ensure the correct token is used to secure the terminate sequence response
-		secureOutboundMessage(sequenceID, outMessage);
-		
-		return terminateSeqResponseRMMsg;
+		return createResponseMsg(terminateSeqRMMsg, terminateSequenceResponse,
+				Sandesha2Constants.MessageParts.TERMINATE_SEQ_RESPONSE,
+				sequenceID, action);
 	}
 
-	public static RMMsgContext createCloseSeqResponseMsg(RMMsgContext closeSeqRMMsg, MessageContext outMessage,
-			StorageManager storageManager) throws AxisFault {
-
-		RMMsgContext closeSeqResponseRMMsg = new RMMsgContext(outMessage);
-
-		SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SandeshaUtil.getSOAPVersion(closeSeqRMMsg
-				.getSOAPEnvelope()));
+	public static RMMsgContext createCloseSeqResponseMsg(RMMsgContext closeSeqRMMsg) throws AxisFault {
 
 		CloseSequence closeSequence = (CloseSequence) closeSeqRMMsg
 				.getMessagePart(Sandesha2Constants.MessageParts.CLOSE_SEQUENCE);
 		String sequenceID = closeSequence.getIdentifier().getIdentifier();
 
 		String namespace = closeSeqRMMsg.getRMNamespaceValue();
-		closeSeqResponseRMMsg.setRMNamespaceValue(namespace);
 
 		CloseSequenceResponse closeSequenceResponse = new CloseSequenceResponse(namespace);
 		Identifier identifier = new Identifier(namespace);
 		identifier.setIndentifer(sequenceID);
 		closeSequenceResponse.setIdentifier(identifier);
 
+		String version = SpecSpecificConstants.getSpecVersionString(namespace);
+		String action = SpecSpecificConstants.getCloseSequenceResponseAction(version);
+
+		return createResponseMsg(closeSeqRMMsg, closeSequenceResponse,
+				Sandesha2Constants.MessageParts.CLOSE_SEQUENCE_RESPONSE,
+				sequenceID, action);
+	}
+
+	private static RMMsgContext createResponseMsg(RMMsgContext requestMsg, IOMRMPart part, int messagePartId,
+			String sequenceID, String action) throws AxisFault {
+
+		MessageContext outMessage = Utils.createOutMessageContext(requestMsg.getMessageContext());
+		RMMsgContext responseRMMsg = new RMMsgContext(outMessage);
+		SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SandeshaUtil.getSOAPVersion(requestMsg.getSOAPEnvelope()));
+
+		String namespace = requestMsg.getRMNamespaceValue();
+		responseRMMsg.setRMNamespaceValue(namespace);
+
 		SOAPEnvelope envelope = factory.getDefaultEnvelope();
-		closeSeqResponseRMMsg.setSOAPEnvelop(envelope);
-		closeSeqResponseRMMsg.setMessagePart(Sandesha2Constants.MessageParts.CLOSE_SEQUENCE_RESPONSE,
-				closeSequenceResponse);
-
-		outMessage.setWSAAction(SpecSpecificConstants.getCloseSequenceResponseAction(SandeshaUtil.getRMVersion(
-				sequenceID, storageManager)));
-		outMessage.setSoapAction(SpecSpecificConstants.getCloseSequenceResponseAction(SandeshaUtil.getRMVersion(
-				sequenceID, storageManager)));
+		responseRMMsg.setSOAPEnvelop(envelope);
+		responseRMMsg.setMessagePart(messagePartId, part);
+
+		outMessage.setWSAAction(action);
+		outMessage.setSoapAction(action);
 
-		closeSeqResponseRMMsg.addSOAPEnvelope();
-		closeSeqResponseRMMsg.getMessageContext().setServerSide(true);
+		responseRMMsg.addSOAPEnvelope();
+		responseRMMsg.getMessageContext().setServerSide(true);
 
-		// Ensure the correct token is used to secure the close sequence response
+		// Ensure the correct token is used to secure the message
 		secureOutboundMessage(sequenceID, outMessage);
 		
-		return closeSeqResponseRMMsg;
+		return responseRMMsg;
 	}
 
 	/**

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java Tue Dec 19 22:35:09 2006
@@ -587,8 +587,7 @@
 			newMessageContext.setProperty(MessageContext.TRANSPORT_OUT, referenceMessage
 					.getProperty(MessageContext.TRANSPORT_OUT));
 			
-
-			//copyint properties as configured in the module.xml properties. Module xml has several
+			//copying properties as configured in the module.xml properties. Module xml has several
 			//properties which gives comma seperated lists of property names that have to be copited
 			//from various places when creating related messages.
 			
@@ -672,8 +671,10 @@
 				}
 			}
 		}
-		
 		toMessage.setProperty(AddressingConstants.WS_ADDRESSING_VERSION,addressingVersion);
+		
+		toMessage.setProperty(AddressingConstants.DISABLE_ADDRESSING_FOR_OUT_MESSAGES, fromMessage
+				.getProperty(AddressingConstants.DISABLE_ADDRESSING_FOR_OUT_MESSAGES));
 	}
 
 	//TODO change this method.
@@ -837,23 +838,6 @@
 		}
 
 		return executionChainStr;
-	}
-
-	// TODO complete below.
-	public static ArrayList getExecutionChainFromString(String executionChainStr, ConfigurationContext configContext)
-			throws SandeshaException {
-		String[] nameStrs = executionChainStr.split(Sandesha2Constants.EXECUTIN_CHAIN_SEPERATOR);
-
-		AxisConfiguration axisConfiguration = configContext.getAxisConfiguration();
-
-		int length = nameStrs.length;
-		for (int i = 0; i < length; i++) {
-			String nameStr = nameStrs[i];
-			// axisConfiguration.get
-
-		}
-
-		return null; // not complete yet.
 	}
 
 	public static void printSOAPEnvelope(SOAPEnvelope envelope, OutputStream out) throws SandeshaException {

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java Tue Dec 19 22:35:09 2006
@@ -12,7 +12,6 @@
 import javax.xml.namespace.QName;
 
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
@@ -90,21 +89,11 @@
 		SequencePropertyBean receivedMsgBean = new SequencePropertyBean(sequenceId,
 				Sandesha2Constants.SequenceProperties.SERVER_COMPLETED_MESSAGES, "");
 
-		// setting the addressing version
-		String addressingNamespaceValue = createSequenceMsg.getAddressingNamespaceValue();
-		SequencePropertyBean addressingNamespaceBean = new SequencePropertyBean(sequenceId,
-				Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE, addressingNamespaceValue);
-		seqPropMgr.insert(addressingNamespaceBean);
-
-		String anonymousURI = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceValue);
-
 		// If no replyTo value. Send responses as sync.
 		SequencePropertyBean toBean = null;
 		if (replyTo != null) {
 			toBean = new SequencePropertyBean(sequenceId, Sandesha2Constants.SequenceProperties.TO_EPR, replyTo
 					.getAddress());
-		} else {
-			toBean = new SequencePropertyBean(sequenceId, Sandesha2Constants.SequenceProperties.TO_EPR, anonymousURI);
 		}
 
 		SequencePropertyBean replyToBean = new SequencePropertyBean(sequenceId,
@@ -188,50 +177,12 @@
 
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropertyBeanMgr();
 
-		// setting the addressing version
-		String addressingNamespace = (String) firstAplicationMsgCtx
-				.getProperty(AddressingConstants.WS_ADDRESSING_VERSION);
-
-		if (addressingNamespace == null) {
-			OperationContext opCtx = firstAplicationMsgCtx.getOperationContext();
-			if (opCtx != null) {
-				try {
-					MessageContext requestMsg = opCtx.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
-					if (requestMsg != null)
-						addressingNamespace = (String) requestMsg
-								.getProperty(AddressingConstants.WS_ADDRESSING_VERSION);
-				} catch (AxisFault e) {
-					throw new SandeshaException(e);
-				}
-			}
-		}
-
-		if (addressingNamespace == null)
-			addressingNamespace = AddressingConstants.Final.WSA_NAMESPACE; // defaults
-																			// to
-																			// Final.
-																			// Make
-																			// sure
-																			// this
-																			// is
-																			// synchronized
-																			// with
-																			// addressing.
-
-		SequencePropertyBean addressingNamespaceBean = new SequencePropertyBean(sequencePropertyKey,
-				Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE, addressingNamespace);
-		seqPropMgr.insert(addressingNamespaceBean);
-		
-		
 		//setting the SOAPVersion Bean.
 		String SOAPVersion = firstAplicationMsgCtx.getOptions().getSoapVersionURI();
 		SequencePropertyBean SOAPVersionBean = new SequencePropertyBean (sequencePropertyKey,
 				Sandesha2Constants.SequenceProperties.SOAP_VERSION, SOAPVersion);
 		
 		seqPropMgr.insert(SOAPVersionBean);
-		
-
-		String anonymousURI = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespace);
 
 		EndpointReference toEPR = firstAplicationMsgCtx.getTo();
 		String acksTo = (String) firstAplicationMsgCtx.getProperty(SandeshaClientConstants.AcksTo);
@@ -290,29 +241,25 @@
 				throw new SandeshaException(message);
 			}
 		} else {
-			
-			//setting replyTo, which defaults to anonymous
-			String replyTo = anonymousURI;
 			EndpointReference replyToEPR = firstAplicationMsgCtx.getReplyTo();
-			if (replyToEPR!=null) replyTo = replyToEPR.getAddress();
-			
-			replyToBean = new SequencePropertyBean(sequencePropertyKey,
-					Sandesha2Constants.SequenceProperties.REPLY_TO_EPR, replyTo);
+			if (replyToEPR!=null) {
+				replyToBean = new SequencePropertyBean(sequencePropertyKey,
+						Sandesha2Constants.SequenceProperties.REPLY_TO_EPR, replyToEPR.getAddress());
+			}
 
-			//TODO set AcksToBean.
 		}
 		
-		// Default value for acksTo is anonymous (this happens only for the
-		// client side)
-		if (acksTo == null) {
-			acksTo = anonymousURI;
+		// Default value for acksTo is anonymous (this happens only for the client side)
+		boolean anonAcks = true;
+		if (acksTo != null) {
+			acksToBean = new SequencePropertyBean(sequencePropertyKey, Sandesha2Constants.SequenceProperties.ACKS_TO_EPR,
+					acksTo);
+			EndpointReference epr = new EndpointReference(acksTo);
+			anonAcks = epr.hasAnonymousAddress();
 		}
 
-		acksToBean = new SequencePropertyBean(sequencePropertyKey, Sandesha2Constants.SequenceProperties.ACKS_TO_EPR,
-				acksTo);
-
 		// start the in listner for the client side, if acksTo is not anonymous.
-		if (!firstAplicationMsgCtx.isServerSide() && !anonymousURI.equals(acksTo)) {
+		if (!firstAplicationMsgCtx.isServerSide() && !anonAcks) {
 
 			String transportInProtocol = firstAplicationMsgCtx.getOptions().getTransportInProtocol();
 			if (transportInProtocol == null) {
@@ -372,26 +319,23 @@
 		SandeshaUtil.startSenderForTheSequence(configurationContext, sequencePropertyKey);
 
 		
-		updateClientSideListnerIfNeeded(firstAplicationMsgCtx, anonymousURI);
+		updateClientSideListnerIfNeeded(firstAplicationMsgCtx, anonAcks);
 
 	}
 
-	private static void updateClientSideListnerIfNeeded(MessageContext messageContext, String addressingAnonymousURI)
+	private static void updateClientSideListnerIfNeeded(MessageContext messageContext, boolean anonAcks)
 			throws SandeshaException {
 		if (messageContext.isServerSide())
 			return; // listners are updated only for the client side.
 
 		String transportInProtocol = messageContext.getOptions().getTransportInProtocol();
 
-		String acksTo = (String) messageContext.getProperty(SandeshaClientConstants.AcksTo);
-		String mep = messageContext.getAxisOperation().getMessageExchangePattern();
-
 		boolean startListnerForAsyncAcks = false;
 		boolean startListnerForAsyncControlMsgs = false; // For async
 															// createSerRes &
 															// terminateSeq.
 
-		if (acksTo != null && !addressingAnonymousURI.equals(acksTo)) {
+		if (!anonAcks) {
 			// starting listner for async acks.
 			startListnerForAsyncAcks = true;
 		}

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java Tue Dec 19 22:35:09 2006
@@ -304,6 +304,17 @@
 					addressingNSURI));
 	}
 	
+	public static String getAddressingNamespace(String rmNamespace) throws SandeshaException {
+		if(Sandesha2Constants.SPEC_2006_08.NS_URI.equals(rmNamespace)) {
+			return Sandesha2Constants.SPEC_2006_08.ADDRESSING_NS_URI;
+		} else if(Sandesha2Constants.SPEC_2005_02.NS_URI.equals(rmNamespace)) {
+			return Sandesha2Constants.SPEC_2005_02.ADDRESSING_NS_URI;
+		}
+
+		throw new SandeshaException (SandeshaMessageHelper.getMessage(
+				SandeshaMessageKeys.unknownRMNamespace,	rmNamespace));
+	}
+	
 	public static String getSecurityNamespace (String rmNamespace) {
 		if(rmNamespace.equals(Sandesha2Constants.SPEC_2005_02.NS_URI)) {
 			return Sandesha2Constants.SPEC_2005_02.SEC_NS_URI;

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/InvokerWorker.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/InvokerWorker.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/InvokerWorker.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/InvokerWorker.java Tue Dec 19 22:35:09 2006
@@ -133,8 +133,6 @@
 			
 			if(!ignoreNextMsg){
 				// updating the next msg to invoke
-
-				String s = invokerBean.getSequenceID();
 				RMDBean rMDBean = nextMsgMgr.retrieve(sequenceId);
 				long nextMsgNo = rMDBean.getNextMsgNoToProcess();
 				

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Accept.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Accept.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Accept.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Accept.java Tue Dec 19 22:35:09 2006
@@ -40,23 +40,31 @@
 	
 	private String rmNamespaceValue;
 	
-	private String addressingNamespaceValue;
-
-
-	public Accept(String rmNamespaceValue, String addressingNamespaceValue) throws SandeshaException {
+	// Constructor used during parsing
+	public Accept(String rmNamespaceValue) throws SandeshaException {
 		if (!isNamespaceSupported(rmNamespaceValue))
 			throw new SandeshaException (SandeshaMessageHelper.getMessage(
 					SandeshaMessageKeys.unknownNamespace,
 					rmNamespaceValue));
 		
-		this.addressingNamespaceValue = addressingNamespaceValue;
 		this.rmNamespaceValue = rmNamespaceValue;
 	}
+	
+	// Constructor used during writing
+	public Accept(String rmNamespace, AcksTo acksTo) throws SandeshaException {
+		this(rmNamespace);
+		this.acksTo = acksTo;
+	}
 
 	public String getNamespaceValue(){
 		return rmNamespaceValue;
 	}
-
+	
+	public String getAddressingNamespaceValue() {
+		if(acksTo != null) return acksTo.getAddressingNamespaceValue();
+		return null;
+	}
+	
 	public Object fromOMElement(OMElement element) throws OMException,AxisFault {
 		
 		OMElement acceptPart = element.getFirstChildWithName(new QName(
@@ -66,7 +74,7 @@
 					SandeshaMessageKeys.noAcceptPartInElement,
 					element.toString()));
 
-		acksTo = new AcksTo(rmNamespaceValue,addressingNamespaceValue);
+		acksTo = new AcksTo(rmNamespaceValue);
 		acksTo.fromOMElement(acceptPart);
 
 		return this;

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/AcksTo.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/AcksTo.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/AcksTo.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/AcksTo.java Tue Dec 19 22:35:09 2006
@@ -17,6 +17,8 @@
 
 package org.apache.sandesha2.wsrm;
 
+import java.util.Iterator;
+
 import javax.xml.namespace.QName;
 
 import org.apache.axiom.om.OMElement;
@@ -42,25 +44,31 @@
 	private String rmNamespaceValue = null;
 	
 	private String addressingNamespaceValue = null;
-
-	public AcksTo (String rmNamespaceValue,String addressingNamespaceValue) throws AxisFault {
+	
+	// Constructor used while parsing
+	public AcksTo (String rmNamespaceValue) throws AxisFault {
 		if (!isNamespaceSupported(rmNamespaceValue))
 			throw new SandeshaException (SandeshaMessageHelper.getMessage(
 					SandeshaMessageKeys.unknownSpec,
 					rmNamespaceValue));
 		
 		this.rmNamespaceValue = rmNamespaceValue;
-		this.addressingNamespaceValue = addressingNamespaceValue;
 	}
 	
-	public AcksTo (EndpointReference epr ,String rmNamespaceValue, String addressingNamespaceValue) throws AxisFault {
-		this (rmNamespaceValue,addressingNamespaceValue);
+	// Constructor used while writing
+	public AcksTo (EndpointReference epr, String rmNamespaceValue, String addressingNamespaceValue) throws AxisFault {
+		this (rmNamespaceValue);
+		this.addressingNamespaceValue = addressingNamespaceValue;
 		this.epr = epr;
 	}
 
-	public String getNamespaceValue(){
+	public String getNamespaceValue() {
 		return rmNamespaceValue;
 	}
+	
+	public String getAddressingNamespaceValue() {
+		return addressingNamespaceValue;
+	}
 
 	public Object fromOMElement(OMElement element) throws OMException,AxisFault {
 		OMElement acksToPart = element.getFirstChildWithName(new QName(
@@ -73,6 +81,15 @@
 
 		epr = EndpointReferenceHelper.fromOM (acksToPart);
 
+		// Sniff the addressing namespace from the Address child of the EPR
+		Iterator children = acksToPart.getChildElements();
+		while(children.hasNext() && addressingNamespaceValue == null) {
+			OMElement child = (OMElement) children.next();
+			if("Address".equals(child.getLocalName())) {
+				addressingNamespaceValue = child.getNamespace().getNamespaceURI();
+			}
+		}
+
 		return this;
 	}
 
@@ -96,10 +113,6 @@
 		return epr;
 	}
 
-	public void setAddress(EndpointReference epr) {
-		this.epr = epr;
-	}
-	
 	public boolean isNamespaceSupported (String namespaceName) {
 		if (Sandesha2Constants.SPEC_2005_02.NS_URI.equals(namespaceName))
 			return true;

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Address.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Address.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Address.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Address.java Tue Dec 19 22:35:09 2006
@@ -1,8 +1,18 @@
 /*
- * Created on Sep 1, 2005
+ * Copyright  2005-2006 The Apache Software Foundation.
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
  *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
  */
 
 package org.apache.sandesha2.wsrm;
@@ -18,7 +28,7 @@
 import org.apache.sandesha2.i18n.SandeshaMessageKeys;
 
 /**
- * Represents an Address element.
+ * Represents an Address element, that is contained within the MakeConnection message.
  */
 
 public class Address implements IOMRMElement {
@@ -81,9 +91,6 @@
 	}
 	
 	public boolean isNamespaceSupported (String namespaceName) {
-		if (Sandesha2Constants.SPEC_2005_02.NS_URI.equals(namespaceName))
-			return true;
-		
 		if (Sandesha2Constants.SPEC_2006_08.NS_URI.equals(namespaceName))
 			return true;
 		

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequence.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequence.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequence.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequence.java Tue Dec 19 22:35:09 2006
@@ -47,31 +47,35 @@
 	
 	private String rmNamespaceValue = null;
 	
-	private String addressingNamespaceValue = null;
-	
 	private String secNamespaceValue = null;
 	
 	private OMElement securityTokenReference = null;
 	
-	public CreateSequence(String rmNamespaceValue,String addressingNamespaceValue) throws SandeshaException {
+	// Constructor used while parsing
+	public CreateSequence(String rmNamespaceValue) throws SandeshaException {
 		if (!isNamespaceSupported(rmNamespaceValue))
 			throw new SandeshaException (SandeshaMessageHelper.getMessage(
 					SandeshaMessageKeys.unknownSpec,
 					rmNamespaceValue));
 		
 		this.rmNamespaceValue = rmNamespaceValue;
-		this.addressingNamespaceValue = addressingNamespaceValue;
 		this.secNamespaceValue = SpecSpecificConstants.getSecurityNamespace(rmNamespaceValue);
 	}
 	
-	public CreateSequence (AcksTo acksTo,SOAPFactory factory,String rmNamespaceValue,String addressingNamespaceValue) throws SandeshaException {
-		this (rmNamespaceValue,addressingNamespaceValue);
+	// Constructor used while writing
+	public CreateSequence (AcksTo acksTo,SOAPFactory factory,String rmNamespaceValue) throws SandeshaException {
+		this (rmNamespaceValue);
 		this.acksTo = acksTo;
 	}
 
 	public String getNamespaceValue() {
 		return rmNamespaceValue;
 	}
+	
+	public String getAddressingNamespaceValue() {
+		if(acksTo != null) return acksTo.getAddressingNamespaceValue();
+		return null;
+	}
 
 	public Object fromOMElement(OMElement bodyElement) throws OMException,AxisFault {
 
@@ -83,14 +87,13 @@
 					SandeshaMessageKeys.noCreateSeqPartInElement,
 					bodyElement.toString()));
 		
-		acksTo = new AcksTo(rmNamespaceValue,addressingNamespaceValue);
+		acksTo = new AcksTo(rmNamespaceValue);
 		acksTo.fromOMElement(createSequencePart);
 
 		OMElement offerPart = createSequencePart.getFirstChildWithName(new QName(rmNamespaceValue,
 																	   Sandesha2Constants.WSRM_COMMON.SEQUENCE_OFFER));
 		if (offerPart != null) {
 			sequenceOffer = new SequenceOffer(rmNamespaceValue);
-			sequenceOffer.setAddressingNamespace(addressingNamespaceValue);
 			sequenceOffer.fromOMElement(createSequencePart);
 		}
 

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequenceResponse.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequenceResponse.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequenceResponse.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequenceResponse.java Tue Dec 19 22:35:09 2006
@@ -45,16 +45,13 @@
 	
 	private String rmNamespaceValue = null;
 	
-	private String addressingNamespaceValue = null;
-	
-	public CreateSequenceResponse(String rmNamespaceValue, String addressingNamespaceValue) throws SandeshaException {
+	public CreateSequenceResponse(String rmNamespaceValue) throws SandeshaException {
 		if (!isNamespaceSupported(rmNamespaceValue))
 			throw new SandeshaException (SandeshaMessageHelper.getMessage(
 					SandeshaMessageKeys.unknownSpec,
 					rmNamespaceValue));
 		
 		this.rmNamespaceValue = rmNamespaceValue;
-		this.addressingNamespaceValue = addressingNamespaceValue;
 	}
 
 	public String getNamespaceValue() {
@@ -91,7 +88,7 @@
 						new QName(rmNamespaceValue,
 						Sandesha2Constants.WSRM_COMMON.ACCEPT));
 		if (acceptPart != null) {
-			accept = new Accept(rmNamespaceValue,addressingNamespaceValue);
+			accept = new Accept(rmNamespaceValue);
 			accept.fromOMElement(createSeqResponsePart);
 		}
 

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Endpoint.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Endpoint.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Endpoint.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Endpoint.java Tue Dec 19 22:35:09 2006
@@ -21,18 +21,20 @@
 	
 	private String addressingNamespaceValue = null;
 
-	public Endpoint (String rmNamespaceValue,String addressingNamespaceValue) throws AxisFault {
+	// Constructor used while parsing
+	public Endpoint (String rmNamespaceValue) throws AxisFault {
 		if (!isNamespaceSupported(rmNamespaceValue))
 			throw new SandeshaException (SandeshaMessageHelper.getMessage(
 					SandeshaMessageKeys.unknownSpec,
 					rmNamespaceValue));
 		
 		this.rmNamespaceValue = rmNamespaceValue;
-		this.addressingNamespaceValue = addressingNamespaceValue;
 	}
 	
+	// Constructor used while writing
 	public Endpoint (EndpointReference epr, String rmNamespaceValue, String addressingNamespaceValue) throws AxisFault {
-		this (rmNamespaceValue,addressingNamespaceValue);
+		this (rmNamespaceValue);
+		this.addressingNamespaceValue = addressingNamespaceValue;
 		this.epr = epr;
 	}
 
@@ -64,7 +66,7 @@
 		OMFactory factory = element.getOMFactory();
 		
 		QName endpoint = new QName (rmNamespaceValue,Sandesha2Constants.WSRM_COMMON.ENDPOINT, Sandesha2Constants.WSRM_COMMON.NS_PREFIX_RM);
-	    OMElement endpointElement =	EndpointReferenceHelper.toOM (factory,epr, endpoint,addressingNamespaceValue);
+	    OMElement endpointElement =	EndpointReferenceHelper.toOM (factory, epr, endpoint, addressingNamespaceValue);
 		
 		element.addChild(endpointElement);
 		return element;
@@ -74,14 +76,7 @@
 		return epr;
 	}
 
-	public void setEPR(EndpointReference epr) {
-		this.epr = epr;
-	}
-	
 	public boolean isNamespaceSupported (String namespaceName) {
-		if (Sandesha2Constants.SPEC_2005_02.NS_URI.equals(namespaceName))
-			return true;
-		
 		if (Sandesha2Constants.SPEC_2006_08.NS_URI.equals(namespaceName))
 			return true;
 		

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java Tue Dec 19 22:35:09 2006
@@ -25,13 +25,12 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMException;
 import org.apache.axiom.soap.SOAP11Constants;
+import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.sandesha2.Sandesha2Constants;
-import org.apache.sandesha2.SandeshaException;
 import org.apache.sandesha2.i18n.SandeshaMessageHelper;
 import org.apache.sandesha2.i18n.SandeshaMessageKeys;
 import org.apache.sandesha2.util.SOAPAbstractFactory;
@@ -60,7 +59,6 @@
 	private MessagePending messagePending = null;
 	private MakeConnection makeConnection = null;
 	private String rmNamespaceValue = null;
-	private String addressingNamespaceValue = null;
 	
 	public RMElements () {
 		sequenceAcknowledgements = new ArrayList ();
@@ -69,7 +67,6 @@
 	
 	public RMElements (String addressingNamespace) {
 		this ();
-		this.addressingNamespaceValue = addressingNamespace;
 	}
 	
 	public void fromSOAPEnvelope(SOAPEnvelope envelope, String action) throws AxisFault {
@@ -93,17 +90,6 @@
 			return;
 		}
 		
-		String addressingNamespaceTmp = getAddressingNamespaceValue (envelope,action);
-		if (addressingNamespaceTmp!=null) {
-			addressingNamespaceValue = addressingNamespaceTmp;
-		}
-		
-		if (addressingNamespaceValue==null) {
-			String message = SandeshaMessageHelper.getMessage(
-					SandeshaMessageKeys.unknownWSAVersion, envelope.toString());
-			throw new SandeshaException (message);
-		}
-		
 		OMElement sequenceElement = envelope.getHeader().getFirstChildWithName(
 				new QName(rmNamespaceValue, Sandesha2Constants.WSRM_COMMON.SEQUENCE));
 		if (sequenceElement != null) {
@@ -116,7 +102,7 @@
 						Sandesha2Constants.WSRM_COMMON.CREATE_SEQUENCE));
 		
 		if (createSeqElement != null) {
-			createSequence = new CreateSequence(rmNamespaceValue,addressingNamespaceValue);
+			createSequence = new CreateSequence(rmNamespaceValue);
 			createSequence.fromOMElement(envelope.getBody());
 		}
 
@@ -125,7 +111,7 @@
 						new QName(rmNamespaceValue,
 								Sandesha2Constants.WSRM_COMMON.CREATE_SEQUENCE_RESPONSE));
 		if (createSeqResElement != null) {
-			createSequenceResponse = new CreateSequenceResponse(rmNamespaceValue,addressingNamespaceValue);
+			createSequenceResponse = new CreateSequenceResponse(rmNamespaceValue);
 			createSequenceResponse.fromOMElement(envelope.getBody());
 		}
 
@@ -332,6 +318,7 @@
 	}
 	
 	private String getRMNamespaceValue (SOAPEnvelope envelope, String action) {
+		
 		SOAPHeader header = envelope.getHeader();
 		if (header!=null) {
 			ArrayList headers = header.getHeaderBlocksWithNSURI(Sandesha2Constants.SPEC_2005_02.NS_URI);
@@ -343,54 +330,34 @@
 				return Sandesha2Constants.SPEC_2006_08.NS_URI;
 		}
 		
-		//rm control messages with parts in the body will be identified by the wsa:action.
-		if (action==null)
-			return null;
-		
-		if (action.equals(Sandesha2Constants.SPEC_2005_02.Actions.ACTION_CREATE_SEQUENCE))
-			return Sandesha2Constants.SPEC_2005_02.NS_URI;
-		if (action.equals(Sandesha2Constants.SPEC_2005_02.Actions.ACTION_CREATE_SEQUENCE_RESPONSE))
-			return Sandesha2Constants.SPEC_2005_02.NS_URI;
-		if (action.equals(Sandesha2Constants.SPEC_2005_02.Actions.ACTION_SEQUENCE_ACKNOWLEDGEMENT))
-			return Sandesha2Constants.SPEC_2005_02.NS_URI;
-		if (action.equals(Sandesha2Constants.SPEC_2005_02.Actions.ACTION_TERMINATE_SEQUENCE))
-			return Sandesha2Constants.SPEC_2005_02.NS_URI;
-		
-		if (action.equals(Sandesha2Constants.SPEC_2006_08.Actions.ACTION_CREATE_SEQUENCE))
-			return Sandesha2Constants.SPEC_2006_08.NS_URI;
-		if (action.equals(Sandesha2Constants.SPEC_2006_08.Actions.ACTION_CREATE_SEQUENCE_RESPONSE))
-			return Sandesha2Constants.SPEC_2006_08.NS_URI;
-		if (action.equals(Sandesha2Constants.SPEC_2006_08.Actions.ACTION_SEQUENCE_ACKNOWLEDGEMENT))
-			return Sandesha2Constants.SPEC_2006_08.NS_URI;
-		if (action.equals(Sandesha2Constants.SPEC_2006_08.Actions.ACTION_TERMINATE_SEQUENCE))
-			return Sandesha2Constants.SPEC_2006_08.NS_URI;
-		if (action.equals(Sandesha2Constants.SPEC_2006_08.Actions.ACTION_CLOSE_SEQUENCE))
-			return Sandesha2Constants.SPEC_2006_08.NS_URI;
-		if (action.equals(Sandesha2Constants.SPEC_2006_08.Actions.ACTION_TERMINATE_SEQUENCE_RESPONSE))
-			return Sandesha2Constants.SPEC_2006_08.NS_URI;
-		if (action.equals(Sandesha2Constants.SPEC_2006_08.Actions.ACTION_CLOSE_SEQUENCE_RESPONSE))
-			return Sandesha2Constants.SPEC_2006_08.NS_URI;
-		if (action.equals(Sandesha2Constants.SPEC_2006_08.Actions.ACTION_MAKE_CONNECTION))
-			return Sandesha2Constants.SPEC_2006_08.NS_URI;
-		
-		return null;   //a version could not be found
-	}
-	
-	private String getAddressingNamespaceValue (SOAPEnvelope envelope, String action) {
-		SOAPHeader header = envelope.getHeader();
-		if (header!=null) {
-			ArrayList headers = header.getHeaderBlocksWithNSURI(AddressingConstants.Submission.WSA_NAMESPACE);
-			if (headers!=null && headers.size()>0)
-				return AddressingConstants.Submission.WSA_NAMESPACE;
+		//rm control messages with parts in the body will be identified by the wsa:action,
+		//except when ws-addressing headers are turned off
+		if (action!=null) {
+			if(action.startsWith(Sandesha2Constants.SPEC_2005_02.NS_URI)) {
+				return Sandesha2Constants.SPEC_2005_02.NS_URI;
+			}
 			
-			headers = header.getHeaderBlocksWithNSURI(AddressingConstants.Final.WSA_NAMESPACE);
-			if (headers!=null && headers.size()>0)
-				return AddressingConstants.Final.WSA_NAMESPACE;
+			if (action.startsWith(Sandesha2Constants.SPEC_2006_08.NS_URI))
+				return Sandesha2Constants.SPEC_2006_08.NS_URI;
+		}
+		
+		// As a final resort check the body namespace
+		SOAPBody body = envelope.getBody();
+		if(body != null) {
+			Iterator elements = body.getChildElements();
+			if(elements.hasNext()) {
+				OMElement firstBodyElement = (OMElement) elements.next();
+				String namespace = firstBodyElement.getNamespace().getNamespaceURI();
+				if(namespace.equals(Sandesha2Constants.SPEC_2005_02.NS_URI) ||
+				   namespace.equals(Sandesha2Constants.SPEC_2006_08.NS_URI)  ) {
+					return namespace;
+				}
+			}
 		}
 		
 		return null;   //a version could not be found
 	}
-
+	
 	public CloseSequence getCloseSequence() {
 		return closeSequence;
 	}
@@ -413,10 +380,6 @@
 	
 	public void setUsesSequenceSTR(UsesSequenceSTR header) {
 		usesSequenceSTR = header;
-	}
-
-	public String getAddressingNamespaceValue() {
-		return addressingNamespaceValue;
 	}
 
 	public MakeConnection getMakeConnection() {

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/SequenceOffer.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/SequenceOffer.java?view=diff&rev=488931&r1=488930&r2=488931
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/SequenceOffer.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/SequenceOffer.java Tue Dec 19 22:35:09 2006
@@ -44,8 +44,6 @@
 	
 	private String namespaceValue = null;
 	
-	private String addressingNamespace = null;
-
 	public SequenceOffer(String namespaceValue) throws SandeshaException {
 		if (!isNamespaceSupported(namespaceValue))
 			throw new SandeshaException (SandeshaMessageHelper.getMessage(
@@ -82,12 +80,7 @@
 		OMElement endpointPart = sequenceOfferPart
 				.getFirstChildWithName(new QName (namespaceValue,Sandesha2Constants.WSRM_COMMON.ENDPOINT));
 		if (endpointPart != null) {
-			if (addressingNamespace==null) {
-				String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.addressingNamespaceNotSet);
-				throw new SandeshaException (message);
-			}
-			
-			endpoint = new Endpoint (namespaceValue, addressingNamespace);
+			endpoint = new Endpoint (namespaceValue);
 			endpoint.fromOMElement (endpointPart);
 		}
 
@@ -154,12 +147,4 @@
 		return false;
 	}
 
-	public String getAddressingNamespace() {
-		return addressingNamespace;
-	}
-
-	public void setAddressingNamespace(String addressingNamespace) {
-		this.addressingNamespace = addressingNamespace;
-	}
-	
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org