You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by ml...@apache.org on 2007/02/07 14:50:08 UTC

svn commit: r504544 - in /webservices/sandesha/trunk/java/src/org/apache/sandesha2: ./ handlers/ msgprocessors/ polling/ util/

Author: mlovett
Date: Wed Feb  7 05:50:06 2007
New Revision: 504544

URL: http://svn.apache.org/viewvc?view=rev&rev=504544
Log:
Remove as much as possible from the global in handler, and delete dead code

Modified:
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/WSRMMessageSender.java

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=504544&r1=504543&r2=504544
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java Wed Feb  7 05:50:06 2007
@@ -52,6 +52,8 @@
 
 			String ACTION_TERMINATE_SEQUENCE = "http://schemas.xmlsoap.org/ws/2005/02/rm/TerminateSequence";
 
+			String ACTION_LAST_MESSAGE = "http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage";
+
 			String SOAP_ACTION_CREATE_SEQUENCE = "http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence";
 
 			String SOAP_ACTION_CREATE_SEQUENCE_RESPONSE = "http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse";
@@ -59,6 +61,8 @@
 			String SOAP_ACTION_SEQUENCE_ACKNOWLEDGEMENT = "http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement";
 
 			String SOAP_ACTION_TERMINATE_SEQUENCE = "http://schemas.xmlsoap.org/ws/2005/02/rm/TerminateSequence";
+			
+			String SOAP_ACTION_LAST_MESSAGE = "http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage";
 		}
 	}
 	
@@ -423,12 +427,6 @@
 
 	static final String TEMP_SEQUENCE_ID = "uuid:tempID";
 
-	static final String ACK_PROCSSED = "AckProcessed";
-
-	static final String RM_ENABLE_KEY = "RMEnabled";
-
-	int MAXIMUM_RETRANSMISSION_ATTEMPTS = 5;
-	
 	static final String PROPERTY_FILE = "sandesha2.properties";
 	
 	static final String VALUE_NONE = "none";
@@ -449,8 +447,6 @@
 	
 	static final String QUALIFIED_FOR_SENDING = "Sandesha2QualifiedForSending";  //Sender will send messages only if this property is null (not set) or true.
 
-	static final String QNAME_SEPERATOR = ",";
-	
 	static final String EXECUTIN_CHAIN_SEPERATOR = ".";
 	
 	static final String INTERNAL_SEQUENCE_PREFIX = "Sandesha2InternalSequence";
@@ -459,8 +455,6 @@
 	
 	static final String LIST_SEPERATOR = ",";
 	
-	static final String LIST_PART_SEPERATOR = "-";
-	
 	static final String INMEMORY_STORAGE_MANAGER = "inmemory";
 	
 	static final String PERMANENT_STORAGE_MANAGER = "persistent";
@@ -495,11 +489,6 @@
 	
 	static final String MAKE_CONNECTION_RESPONSE = "MakeConnectionResponse";
 	
-	//In RM 1.1 AnonRMURI case we may not be terminating a request sequence unless the response side create sequence 
-	//msg hs been received through polling. This property will be used to track this.
-	String TERMINATE_ON_CREATE_SEQUENCE = "TerminateOnCS";
-	
-	
 	static final String [] SPEC_NS_URIS = {
 			SPEC_2005_02.NS_URI,
 			SPEC_2006_08.NS_URI
@@ -509,7 +498,6 @@
 		static final String INTERNAL_SEQUENCE_ID = "Sandesha2InternalSequenceId";
 		static final String SEQUENCE_ID = "WSRMSequenceId";
 		static final String MESSAGE_NUMBER = "WSRMMessageNumber";
-		static final String SEQUENCE_PROPERTY_KEY = "SequencePropertyKey";
 		static final String SECURITY_TOKEN = "SecurityToken";
 	}
     

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java?view=diff&rev=504544&r1=504543&r2=504544
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java Wed Feb  7 05:50:06 2007
@@ -19,32 +19,19 @@
 
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axis2.AxisFault;
-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.handlers.AbstractHandler;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-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.SequenceProcessor;
-import org.apache.sandesha2.storage.StorageManager;
-import org.apache.sandesha2.storage.Transaction;
-import org.apache.sandesha2.storage.beanmanagers.RMDBeanMgr;
-import org.apache.sandesha2.storage.beans.RMDBean;
-import org.apache.sandesha2.util.MsgInitializer;
-import org.apache.sandesha2.util.Range;
-import org.apache.sandesha2.util.SandeshaUtil;
 import org.apache.sandesha2.wsrm.Sequence;
 
 /**
- * The Global handler of Sandesha2. This is used to perform things that should
- * be done before diapatching such as duplicate detection.
+ * The Global handler of Sandesha2. This is only used to check for WSRM 1.0 messages
+ * that have a particular way of signalling the last message in a sequence. These
+ * checks have to be done before dispatch.
  */
 
 public class SandeshaGlobalInHandler extends AbstractHandler {
@@ -58,193 +45,49 @@
 		if (log.isDebugEnabled())
 			log.debug("Enter: SandeshaGlobalInHandler::invoke, " + msgContext.getEnvelope().getHeader());
 
-		InvocationResponse returnValue = InvocationResponse.CONTINUE;
-		
-		ConfigurationContext configContext = msgContext.getConfigurationContext();
-		if (configContext == null)
-			throw new AxisFault(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.configContextNotSet));
-
-		SOAPEnvelope envelope = msgContext.getEnvelope();
-		if (envelope == null)
-			throw new SandeshaException(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.soapEnvNotSet));
-
-		String reinjectedMessage = (String) msgContext.getProperty(Sandesha2Constants.REINJECTED_MESSAGE);
-		if (reinjectedMessage != null && Sandesha2Constants.VALUE_TRUE.equals(reinjectedMessage))
-			return returnValue; // Reinjected messages are not processed by Sandesha2 inflow
-													// handlers
-
-		Transaction transaction = null;
-
-		try {
-			
-			// Quitting the message with minimum processing if not intended for
-			// RM.
-			boolean isRMGlobalMessage = SandeshaUtil.isRMGlobalMessage(msgContext);
-			if (!isRMGlobalMessage) {
-				if (log.isDebugEnabled())
-					log.debug("Exit: SandeshaGlobalInHandler::invoke, !isRMGlobalMessage " + returnValue);
-				return returnValue;
-			}
-
-			StorageManager storageManager = null;
-			try {
-				storageManager = SandeshaUtil
-						.getSandeshaStorageManager(configContext, configContext.getAxisConfiguration());
-				if (storageManager == null) {
-					log.debug("Sandesha2 cannot proceed. The StorageManager is not available " + returnValue);
-					return returnValue;
-				}
-			} catch (SandeshaException e1) {
-				// TODO make this a log
-				log.debug("Sandesha2 cannot proceed. Exception thrown when looking for the StorageManager", e1);
-				return returnValue;
-			}
-
-			transaction = storageManager.getTransaction();
-
-			RMMsgContext rmMessageContext = MsgInitializer.initializeMessage(msgContext);
-				
-			boolean shouldMessageBeDropped = shouldMessageBeDropped (rmMessageContext, storageManager);
-			
-			if (shouldMessageBeDropped) {
-
-				returnValue = InvocationResponse.ABORT; // the msg has been
-														// dropped
-				SequenceProcessor.sendAckIfNeeded(rmMessageContext, storageManager,true);
-				if (log.isDebugEnabled())
-					log.debug("Exit: SandeshaGlobalInHandler::invoke, dropped "
-							+ returnValue);
-				return returnValue;
-
-			}
-
-			// Process if global processing possible. - Currently none
-			if (SandeshaUtil.isGloballyProcessableMessageType(rmMessageContext.getMessageType())) {
-				doGlobalProcessing(rmMessageContext);
-			}
-
-		} catch (Exception e) {
-			if (log.isDebugEnabled()) log.debug("Caught an exception", e);
-
-			if (transaction != null) {
-				try {
-					transaction.rollback();
-					transaction = null;
-				} catch (Exception e1) {
-					String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.rollbackError, e1.toString());
-					log.debug(message, e);
-				}
-			}
-
-			String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.inMsgError, e.toString());
-			if (log.isDebugEnabled())
-				log.debug("Exit: SandeshaGlobalInHandler::invoke ", e);
-			throw new AxisFault(message, e);
-		} finally {
-			if (transaction != null) {
+		// The only work that this handler needs to do is identify messages which
+		// follow the WSRM 1.0 convention for sending 'LastMessage' when the sender
+		// doesn't have a reliable message to piggyback the last message marker onto.
+		// Normally they will identify this scenario with an action marker, but if
+		// there is no action at all then we have to check the soap body.
+		// Either way, all that this handler need do is set the action back onto
+		// the message, so that the dispatchers can allow it to continue. The real
+		// processing will be done in the SequenceProcessor.
+		String soapAction = msgContext.getSoapAction();
+		String wsaAction = msgContext.getWSAAction();
+		if(soapAction == null && wsaAction == null) {
+			// Look for a WSRM 1.0 sequence header with the lastMessage marker
+			SOAPEnvelope env = msgContext.getEnvelope();
+			if(env != null) {
+				boolean lastMessageHeader = false;
 				try {
-					transaction.commit();
-				} catch (Exception e) {
-					String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.commitError, e.toString());
-					if (log.isDebugEnabled())
-						log.debug("Exit: SandeshaGlobalInHandler::invoke ", e);
-					throw new AxisFault(message, e);
-				}
-			}
-		}
-		if (log.isDebugEnabled())
-			log.debug("Exit: SandeshaGlobalInHandler::invoke " + returnValue);
-		return returnValue;
-	}
-	
-	private boolean shouldMessageBeDropped(RMMsgContext rmMsgContext, StorageManager storageManager) throws AxisFault {
-		
-		if (log.isDebugEnabled())
-			log.debug("Enter: SandeshaGlobalInHandler::dropIfDuplicate");
-
-		boolean drop = false;		
-		
-		if (rmMsgContext.getMessageType() == Sandesha2Constants.MessageTypes.APPLICATION) {
-
-			Sequence sequence = (Sequence) rmMsgContext.getMessagePart(Sandesha2Constants.MessageParts.SEQUENCE);
-			String sequenceId = null;
-
-			if (drop == false) {
-				// Checking for RM specific EMPTY_BODY LASTMESSAGE.
-				SOAPBody body = rmMsgContext.getSOAPEnvelope().getBody();
-				boolean emptyBody = false;
-				if (body.getChildElements().hasNext() == false) {
-					emptyBody = true;
-				}
-				
-				if (emptyBody) {
-					if (sequence.getLastMessage() != null) {
-						log.debug(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.emptyLastMsg));
-						drop = true;
-
-						//marking current message as a received message.
-						
-						RMDBeanMgr rmdBeanMgr = storageManager.getRMDBeanMgr();
-						
-						RMDBean findBean = new RMDBean ();
-						findBean.setSequenceID(sequenceId);
-						RMDBean rmdBean = rmdBeanMgr.findUnique(findBean);
-						
-						long messageNo = sequence.getMessageNumber().getMessageNumber();
-						rmdBean.getServerCompletedMessages().addRange (new Range (messageNo));
-						rmdBeanMgr.update(rmdBean);
-						
-						drop = true;
-
+					SOAPHeader header = env.getHeader();
+					if(header != null) {
+						Sequence sequence = new Sequence(Sandesha2Constants.SPEC_2005_02.NS_URI);
+						sequence.fromOMElement(header);
+						if(sequence.getLastMessage() != null) {
+							lastMessageHeader = true;
+						}
 					}
-
+				} catch(Exception e) {
+					// Do nothing, we failed to find a Sequence header
 				}
-			}
-		} else if (rmMsgContext.getMessageType() != Sandesha2Constants.MessageTypes.UNKNOWN) {
-			// droping other known message types if, an suitable operation
-			// context is not available,
-			// and if a relates to value is present.
-			RelatesTo relatesTo = rmMsgContext.getRelatesTo();
-			if (relatesTo != null) {
-				String value = relatesTo.getValue();
-
-				// TODO do not drop, relationshipTypes other than reply
-
-				ConfigurationContext configurationContext = rmMsgContext.getMessageContext().getConfigurationContext();
-				OperationContext operationContextFromMap = configurationContext.getOperationContext(value);
-				OperationContext operationContext = rmMsgContext.getMessageContext().getOperationContext();
-
-				// reply messages should be dropped if it cannot be instance
-				// dispatched.
-				// I.e. both not having a op. ctx not and not having a op. ctx
-				// in the global list.
-				if (operationContext == null && operationContextFromMap == null) {
-					String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.droppingDuplicate);
-					log.debug(message);
-					drop = true;
+				if(lastMessageHeader) {
+					SOAPBody body = env.getBody();
+					if(body != null && body.getFirstElement() == null) {
+						// There is an empty body so we know this is the kind of message
+						// that we are looking for.
+						if(log.isDebugEnabled()) log.debug("Setting SOAP Action for a WSRM 1.0 last message");
+						msgContext.setSoapAction(Sandesha2Constants.SPEC_2005_02.Actions.SOAP_ACTION_LAST_MESSAGE);
+					}
 				}
 			}
-		}
 
-		if (drop) {
-			rmMsgContext.getMessageContext().pause();
-			String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.droppingDuplicate);
-			log.debug(message);
-			if (log.isDebugEnabled())
-				log.debug("Exit: SandeshaGlobalInHandler::dropIfDuplicate, true");
-			return true;
 		}
-
-		if (log.isDebugEnabled())
-			log.debug("Exit: SandeshaGlobalInHandler::dropIfDuplicate, false");
 		
-		return false;
-	}
-
-	private void doGlobalProcessing(RMMsgContext rmMsgCtx) throws SandeshaException {
-	}
-
-	public String getName() {
-		return Sandesha2Constants.GLOBAL_IN_HANDLER_NAME;
+		if (log.isDebugEnabled())
+			log.debug("Exit: SandeshaGlobalInHandler::invoke, continuing");
+		return InvocationResponse.CONTINUE;
 	}
+	
 }

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=504544&r1=504543&r2=504544
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java Wed Feb  7 05:50:06 2007
@@ -323,7 +323,17 @@
 			AcknowledgementManager.removeAckBeanEntries(sequenceId, storageManager);
 			AcknowledgementManager.addAckBeanEntry(ackRMMsgContext, sequenceId, timeToSend, storageManager);
 		}
-
+		
+		// If this message matches the WSRM 1.0 pattern for an empty last message (e.g.
+		// the sender wanted to signal the last message, but didn't have an application
+		// message to send) then we do not need to send the message on to the application.
+		if(Sandesha2Constants.SPEC_2005_02.Actions.ACTION_LAST_MESSAGE.equals(msgCtx.getWSAAction()) ||
+		   Sandesha2Constants.SPEC_2005_02.Actions.SOAP_ACTION_LAST_MESSAGE.equals(msgCtx.getSoapAction())) {
+			if (log.isDebugEnabled())
+				log.debug("Exit: SequenceProcessor::processReliableMessage, got WSRM 1.0 lastmessage, aborting");
+			return InvocationResponse.ABORT;
+		}
+		
 		// If the storage manager has an invoker, then they may be implementing inOrder, or
 		// transactional delivery. Either way, if they have one we should use it.
 		SandeshaThread invoker = storageManager.getInvoker();

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java?view=diff&rev=504544&r1=504543&r2=504544
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java Wed Feb  7 05:50:06 2007
@@ -181,9 +181,6 @@
 		//storing the MakeConnection message.
 		String makeConnectionMsgStoreKey = SandeshaUtil.getUUID();
 		
-		makeConnectionRMMessage.setProperty(Sandesha2Constants.MessageContextProperties.SEQUENCE_PROPERTY_KEY,
-				sequencePropertyKey);
-		
 		//add an entry for the MakeConnection message to the sender (with ,send=true, resend=false)
 		SenderBean makeConnectionSenderBean = new SenderBean ();
 		makeConnectionSenderBean.setInternalSequenceID((rmBean instanceof RMSBean) ? sequencePropertyKey : null); // We only have internal ids for the RMS-side

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=504544&r1=504543&r2=504544
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java Wed Feb  7 05:50:06 2007
@@ -19,7 +19,6 @@
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
-import java.io.OutputStream;
 import java.io.PrintWriter;
 import java.lang.reflect.Constructor;
 import java.util.ArrayList;
@@ -27,12 +26,9 @@
 import java.util.Map;
 
 import javax.xml.namespace.QName;
-import javax.xml.stream.FactoryConfigurationError;
 import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLOutputFactory;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.soap.SOAP11Constants;
@@ -207,24 +203,6 @@
 		}
 	}
 
-	public static boolean isGloballyProcessableMessageType(int type) {
-		if (type == Sandesha2Constants.MessageTypes.ACK || type == Sandesha2Constants.MessageTypes.TERMINATE_SEQ) {
-			return true;
-		}
-
-		return false;
-	}
-
-	public static boolean isDuplicateDropRequiredMsgType(int rmMessageType) {
-		if (rmMessageType == Sandesha2Constants.MessageTypes.APPLICATION)
-			return true;
-
-		if (rmMessageType == Sandesha2Constants.MessageTypes.CREATE_SEQ_RESPONSE)
-			return true;
-
-		return false;
-	}
-
 	public static String getServerSideIncomingSeqIdFromInternalSeqId(String internalSequenceId)
 			throws SandeshaException {
 
@@ -339,72 +317,7 @@
 					namespaceName));
 	}
 
-	public static boolean isRMGlobalMessage(MessageContext msgCtx) {
-		boolean rmGlobalMsg = false;
-
-		String action = msgCtx.getWSAAction();
-		SOAPEnvelope env = msgCtx.getEnvelope();
-		SOAPHeader header = null;
-		if (env != null)
-			header = env.getHeader();
-		else {
-			log.error(SandeshaMessageHelper.getMessage(
-					SandeshaMessageKeys.soapEnvNotSet));
-			return false;
-		}
-
-		// TODO make this spec indipendent
-
-		OMElement sequenceElem = null;
-		if (header != null) {
-			sequenceElem = header.getFirstChildWithName(new QName(Sandesha2Constants.SPEC_2005_02.NS_URI,
-						Sandesha2Constants.WSRM_COMMON.SEQUENCE));
-
-			if (sequenceElem == null)
-				sequenceElem = header.getFirstChildWithName(new QName(Sandesha2Constants.SPEC_2006_08.NS_URI,
-						Sandesha2Constants.WSRM_COMMON.SEQUENCE));
-		}
-
-		if (sequenceElem != null)
-			rmGlobalMsg = true;
 
-		if (Sandesha2Constants.SPEC_2005_02.Actions.ACTION_SEQUENCE_ACKNOWLEDGEMENT.equals(action))
-			rmGlobalMsg = true;
-
-		if (Sandesha2Constants.SPEC_2005_02.Actions.ACTION_CREATE_SEQUENCE_RESPONSE.equals(action))
-			rmGlobalMsg = true;
-
-		if (Sandesha2Constants.SPEC_2005_02.Actions.ACTION_TERMINATE_SEQUENCE.equals(action))
-			rmGlobalMsg = true;
-
-		if (Sandesha2Constants.SPEC_2006_08.Actions.ACTION_SEQUENCE_ACKNOWLEDGEMENT.equals(action))
-			rmGlobalMsg = true;
-
-		if (Sandesha2Constants.SPEC_2006_08.Actions.ACTION_TERMINATE_SEQUENCE.equals(action))
-			rmGlobalMsg = true;
-
-		if (Sandesha2Constants.SPEC_2006_08.Actions.ACTION_CREATE_SEQUENCE_RESPONSE.equals(action))
-			rmGlobalMsg = true;
-
-		return rmGlobalMsg;
-	}
-
-	// RM will retry sending the message even if a fault arrive for following message types.
-	public static boolean isRetriableOnFaults(MessageContext msgCtx) {
-		boolean rmGlobalMsg = false;
-
-		String action = msgCtx.getWSAAction();
-
-
-		if (Sandesha2Constants.SPEC_2005_02.Actions.ACTION_CREATE_SEQUENCE.equals(action))
-			rmGlobalMsg = true;
-
-		if (Sandesha2Constants.SPEC_2006_08.Actions.ACTION_CREATE_SEQUENCE.equals(action))
-			rmGlobalMsg = true;
-
-		return rmGlobalMsg;
-	}
-	
 	public static MessageContext createNewRelatedMessageContext(RMMsgContext referenceRMMessage, AxisOperation operation)
 			throws SandeshaException {
 		try {
@@ -668,67 +581,6 @@
 		return sequeunceID;
 	}
 
-	public static QName getQNameFromString(String qnameStr) throws SandeshaException {
-		String[] parts = qnameStr.split(Sandesha2Constants.QNAME_SEPERATOR);
-		if (!(parts.length == 3))
-			throw new SandeshaException(SandeshaMessageHelper.getMessage(
-					SandeshaMessageKeys.invalidQName));
-
-		if (parts[0].equals(Sandesha2Constants.VALUE_NONE))
-			parts[0] = null;
-
-		if (parts[1].equals(Sandesha2Constants.VALUE_NONE))
-			parts[1] = null;
-
-		if (parts[2].equals(Sandesha2Constants.VALUE_NONE))
-			parts[2] = null;
-
-		if (parts[0].equals(Sandesha2Constants.VALUE_EMPTY))
-			parts[0] = "";
-
-		if (parts[1].equals(Sandesha2Constants.VALUE_EMPTY))
-			parts[1] = "";
-
-		if (parts[2].equals(Sandesha2Constants.VALUE_EMPTY))
-			parts[2] = "";
-
-		String namespace = parts[0];
-		String localPart = parts[1];
-		String prefix = parts[2];
-
-		QName name = new QName(namespace, localPart, prefix);
-		return name;
-	}
-
-	public static String getStringFromQName(QName name) {
-		String localPart = name.getLocalPart();
-		String namespace = name.getNamespaceURI();
-		String prefix = name.getPrefix();
-
-		if (localPart == null)
-			localPart = Sandesha2Constants.VALUE_NONE;
-
-		if (namespace == null)
-			namespace = Sandesha2Constants.VALUE_NONE;
-
-		if (prefix == null)
-			prefix = Sandesha2Constants.VALUE_NONE;
-
-		if ("".equals(localPart))
-			localPart = Sandesha2Constants.VALUE_EMPTY;
-
-		if ("".equals(namespace))
-			namespace = Sandesha2Constants.VALUE_EMPTY;
-
-		if ("".equals(prefix))
-			prefix = Sandesha2Constants.VALUE_EMPTY;
-
-		String QNameStr = namespace + Sandesha2Constants.QNAME_SEPERATOR + localPart
-				+ Sandesha2Constants.QNAME_SEPERATOR + prefix;
-
-		return QNameStr;
-	}
-
 	public static String getExecutionChainString(ArrayList executionChain) {
 		Iterator iter = executionChain.iterator();
 
@@ -740,17 +592,6 @@
 		}
 
 		return executionChainStr;
-	}
-
-	public static void printSOAPEnvelope(SOAPEnvelope envelope, OutputStream out) throws SandeshaException {
-		try {
-			XMLStreamWriter writer = XMLOutputFactory.newInstance().createXMLStreamWriter(out);
-			envelope.serialize(writer);
-		} catch (XMLStreamException e) {
-			throw new SandeshaException(e.getMessage());
-		} catch (FactoryConfigurationError e) {
-			throw new SandeshaException(e.getMessage());
-		}
 	}
 
 	public static boolean isAllMsgsAckedUpto(long highestInMsgNo, String internalSequenceId,

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/WSRMMessageSender.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/WSRMMessageSender.java?view=diff&rev=504544&r1=504543&r2=504544
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/WSRMMessageSender.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/WSRMMessageSender.java Wed Feb  7 05:50:06 2007
@@ -121,7 +121,6 @@
 		//setting msg context properties
 		rmMsgCtx.setProperty(Sandesha2Constants.MessageContextProperties.SEQUENCE_ID, outSequenceID);
 		rmMsgCtx.setProperty(Sandesha2Constants.MessageContextProperties.INTERNAL_SEQUENCE_ID, internalSequenceID);
-		rmMsgCtx.setProperty(Sandesha2Constants.MessageContextProperties.SEQUENCE_PROPERTY_KEY , sequenceKey);
 
 		rmMsgCtx.addSOAPEnvelope();
 



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