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 Jaliya Ekanayake <ja...@opensource.lk> on 2005/12/04 06:26:01 UTC

Re: [Sandesha2] WSRM Patch

Saminda,

Thanks for the contribution. I applied the patch.

Thanks,

Jaliya


Saminda Abeyruwan wrote:

> Hi all,
>
> Could someone please apply this patch for Sandesha2 /Axis2. It 
> contains followng  classes,
>
>
> org.apache.sandesha2.wsrm -
>
> 1. Accept
> 2. AcknowledgementRange
> 3. AckRequested
> 4. AcksTo
> 5. CreateSequence
> 6. CreateSequecneResponse
> 7. FaultCode
> 8. Identifier
> 9. IOMRMElement
> 10. LastMessage
> 11. MessageNumber
> 12. Nack
> 13. RMElements
> 14. SequenceAcknowlegement
> 15. SequenceFault
> 16. Sequence
> 17.  SequenceOffer
> 18.  TerminateSequence
>
> org.apache.sandesha2 -
>
> 1.  Constants
>
> The prior mentioned classes handle the OM elemnts of the SOAP messages 
> that have been used in the message exchanges.
>
> Thanks
>
> Saminda
>
>------------------------------------------------------------------------
>
>Index: src/org/apache/sandesha2/wsrm/Accept.java
>===================================================================
>--- src/org/apache/sandesha2/wsrm/Accept.java	(revision 0)
>+++ src/org/apache/sandesha2/wsrm/Accept.java	(revision 0)
>@@ -0,0 +1,63 @@
>+/*
>+ * Copyright  1999-2004 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.
>+ *
>+ */
>+package org.apache.sandesha2.wsrm;
>+
>+import org.apache.axis2.addressing.EndpointReference;
>+import org.apache.axis2.om.OMAbstractFactory;
>+import org.apache.axis2.om.OMElement;
>+import org.apache.axis2.om.OMException;
>+import org.apache.axis2.om.OMNamespace;
>+import org.apache.axis2.soap.SOAPEnvelope;
>+import org.apache.sandesha2.Constants;
>+
>+/**
>+ * @author Saminda
>+ */
>+public class Accept implements IOMRMElement {
>+	private OMElement acceptElement;
>+	private AcksTo acksTo;
>+	OMNamespace acceptNamespace =
>+		OMAbstractFactory.getSOAP11Factory().createOMNamespace(Constants.WSRM.NS_URI_RM, Constants.WSRM.NS_PREFIX_RM);
>+	public Accept(){
>+		acceptElement = OMAbstractFactory.getSOAP11Factory().createOMElement(
>+				Constants.WSRM.ACCEPT,acceptNamespace);
>+	}
>+	public OMElement getSOAPElement() throws OMException {
>+		acceptElement.addChild(acksTo.getSOAPElement());
>+		return acceptElement;
>+	}
>+	
>+	public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws OMException {
>+		acksTo = new AcksTo(new EndpointReference("",""));
>+		acksTo.fromSOAPEnvelope(envelope);
>+		return this;
>+	}
>+
>+	public OMElement toSOAPEnvelope(OMElement messageElement) throws OMException {
>+		if (acksTo != null){
>+			acksTo.toSOAPEnvelope(acceptElement);
>+		}
>+		messageElement.addChild(acceptElement);
>+		return messageElement;
>+	}
>+	public void setAcksTo(AcksTo acksTo){
>+		this.acksTo = acksTo;
>+	}
>+	public AcksTo getAcksTo(){
>+		return acksTo;
>+	}
>+}
>Index: src/org/apache/sandesha2/wsrm/SequenceAcknowledgement.java
>===================================================================
>--- src/org/apache/sandesha2/wsrm/SequenceAcknowledgement.java	(revision 0)
>+++ src/org/apache/sandesha2/wsrm/SequenceAcknowledgement.java	(revision 0)
>@@ -0,0 +1,147 @@
>+/*
>+ * Copyright  1999-2004 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.
>+ *
>+ */
>+package org.apache.sandesha2.wsrm;
>+
>+import java.util.Iterator;
>+import java.util.LinkedList;
>+import java.util.List;
>+
>+import org.apache.axis2.om.OMAbstractFactory;
>+import org.apache.axis2.om.OMElement;
>+import org.apache.axis2.om.OMException;
>+import org.apache.axis2.om.OMNamespace;
>+import org.apache.axis2.soap.SOAPEnvelope;
>+import org.apache.axis2.soap.SOAPHeader;
>+import org.apache.axis2.soap.SOAPHeaderBlock;
>+import org.apache.sandesha2.Constants;
>+
>+/**
>+ * @author Saminda
>+ *
>+ */
>+public class SequenceAcknowledgement implements IOMRMElement {
>+	private OMElement sequenceAcknowledgementElement;
>+	private Identifier identifier;
>+	private List acknowledgementRanges;
>+	private List nackList;
>+	OMNamespace seqAcksNamespace =
>+		OMAbstractFactory.getSOAP11Factory().createOMNamespace(Constants.WSRM.NS_URI_RM, Constants.WSRM.NS_PREFIX_RM);
>+	public SequenceAcknowledgement(){
>+		sequenceAcknowledgementElement = OMAbstractFactory.getSOAP11Factory().createOMElement(
>+				Constants.WSRM.SEQUENCE_ACK,seqAcksNamespace);
>+		acknowledgementRanges = new LinkedList();
>+		nackList = new LinkedList();
>+	}
>+	public OMElement getSOAPElement() throws OMException {
>+		Iterator iterator = acknowledgementRanges.iterator();
>+		while(iterator.hasNext()){
>+			AcknowledgementRange range = (AcknowledgementRange)iterator.next();
>+			sequenceAcknowledgementElement.addChild(
>+					range.getSOAPElement());
>+			
>+		}
>+		iterator = nackList.iterator();
>+		while(iterator.hasNext()){
>+			Nack nack = (Nack)iterator.next();
>+			sequenceAcknowledgementElement.addChild(
>+					nack.getSOAPElement());
>+		}
>+		sequenceAcknowledgementElement.addChild(identifier.getSOAPElement());
>+		return sequenceAcknowledgementElement;
>+	}
>+
>+	public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws OMException {
>+		identifier = new Identifier();
>+		SOAPHeader soapHeader = envelope.getHeader();
>+		Iterator iterator = soapHeader.getChildren();
>+		while (iterator.hasNext()){
>+			OMElement omElement = (OMElement)iterator.next();
>+			if (omElement.getLocalName().equals(Constants.WSRM.SEQUENCE_ACK)){
>+				Iterator childIterator = omElement.getChildren();
>+				while (childIterator.hasNext()){
>+					OMElement childElement = (OMElement)childIterator.next();
>+					if (childElement.getLocalName().equals(Constants.WSRM.ACK_RANGE)){
>+						AcknowledgementRange ackRange = new AcknowledgementRange();
>+						ackRange.fromSOAPEnvelope(childElement);
>+						acknowledgementRanges.add(ackRange);
>+					}
>+					if (childElement.getLocalName().equals(Constants.WSRM.NACK)){
>+						Nack nack = new Nack();	
>+						nack.fromSOAPEnvelope(childElement);
>+						nackList.add(nack);
>+					}
>+					if ( childElement.getLocalName().equals(Constants.WSRM.IDENTIFIER)){
>+						identifier = new Identifier();
>+						identifier.fromSOAPEnvelope(envelope);
>+					}
>+				}
>+			}
>+		}
>+		
>+		return this;
>+	}
>+
>+	public OMElement toSOAPEnvelope(OMElement envelope) throws OMException {
>+		SOAPEnvelope soapEnvelope = (SOAPEnvelope)envelope;
>+		SOAPHeader soapHeader = soapEnvelope.getHeader();
>+		SOAPHeaderBlock soapHeaderBlock = soapHeader.addHeaderBlock(
>+				Constants.WSRM.SEQUENCE_ACK,seqAcksNamespace);
>+		soapHeaderBlock.setMustUnderstand(true);
>+		//adding ackRanges
>+		Iterator iterator = acknowledgementRanges.iterator();
>+		while(iterator.hasNext()){
>+			AcknowledgementRange ackRange = (AcknowledgementRange)iterator.next();
>+			ackRange.toSOAPEnvelope(soapHeaderBlock);
>+		}
>+		iterator = nackList.iterator();
>+		while(iterator.hasNext()){
>+			Nack nack = (Nack)iterator.next();
>+			nack.toSOAPEnvelope(soapHeaderBlock);
>+		}
>+		if ( identifier != null){
>+			identifier.toSOAPEnvelope(soapHeaderBlock);
>+		}
>+		return envelope;
>+	}
>+	public void setIdentifier(Identifier identifier){
>+		this.identifier = identifier;
>+	}
>+	public void setAckRanges(List acknowledgementRagngesList){
>+		acknowledgementRanges = acknowledgementRagngesList;
>+	}
>+	public Nack addNackRangges(Nack nack){
>+		nackList.add(nack);
>+		return nack;
>+	}
>+	public AcknowledgementRange addAcknowledgementRanges(AcknowledgementRange ackRange){
>+		acknowledgementRanges.add(ackRange);
>+		return ackRange;
>+	}
>+	public Identifier getIdentifier(){
>+		return identifier;
>+	}
>+	public List getAcknowledgementRanges(){
>+		return acknowledgementRanges;
>+	}
>+	public List getNackList(){
>+		return nackList;
>+	}
>+	public void addChildElement(OMElement element){
>+		acknowledgementRanges.add(element);
>+	}
>+
>+}
>Index: src/org/apache/sandesha2/wsrm/SequenceFault.java
>===================================================================
>--- src/org/apache/sandesha2/wsrm/SequenceFault.java	(revision 0)
>+++ src/org/apache/sandesha2/wsrm/SequenceFault.java	(revision 0)
>@@ -0,0 +1,104 @@
>+/*
>+ * Copyright  1999-2004 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.
>+ *
>+ */
>+package org.apache.sandesha2.wsrm;
>+
>+import java.util.Iterator;
>+
>+import org.apache.axis2.om.OMAbstractFactory;
>+import org.apache.axis2.om.OMElement;
>+import org.apache.axis2.om.OMException;
>+import org.apache.axis2.om.OMNamespace;
>+import org.apache.axis2.soap.SOAPEnvelope;
>+import org.apache.axis2.soap.SOAPHeader;
>+import org.apache.axis2.soap.SOAPHeaderBlock;
>+import org.apache.sandesha2.Constants;
>+
>+/**
>+ * @author Saminda
>+ *
>+ */
>+public class SequenceFault implements IOMRMElement {
>+	private OMElement sequenceFaultElement;
>+	private FaultCode faultCode;
>+	
>+	OMNamespace sequenceFaultNameSpace = 
>+		OMAbstractFactory.getSOAP11Factory().createOMNamespace(
>+				Constants.WSRM.NS_URI_RM, Constants.WSRM.NS_PREFIX_RM);
>+	public SequenceFault(){
>+		sequenceFaultElement = OMAbstractFactory.getSOAP11Factory().createOMElement(
>+				Constants.WSRM.SEQUENCE_FAULT,sequenceFaultNameSpace);
>+	}
>+	public OMElement getSOAPElement() throws OMException {
>+		sequenceFaultElement.addChild(faultCode.getSOAPElement());
>+		return sequenceFaultElement;
>+	}
>+
>+	public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws OMException {
>+		//only for fault thus not intereated in refactoring
>+		Iterator iterator = envelope.getChildren();
>+		OMElement childElement;
>+		OMElement siblings;
>+		OMElement grandSiblings;
>+		while(iterator.hasNext()){
>+			childElement = (OMElement)iterator.next();
>+			Iterator iteSib1 = childElement.getChildren();
>+			while(iteSib1.hasNext()){
>+				siblings = (OMElement)iteSib1.next();
>+				Iterator iteSib2 = siblings.getChildren(); 
>+				while(iteSib2.hasNext()){
>+					grandSiblings = (OMElement)iteSib2.next();
>+					if(grandSiblings.getLocalName().equals(Constants.WSRM.SEQUENCE_FAULT)){
>+						faultCode = new FaultCode();
>+						faultCode.fromSOAPEnvelope(envelope);
>+					}
>+				}
>+			}
>+		}
>+		return this;
>+	}
>+
>+	public OMElement toSOAPEnvelope(OMElement envelope) throws OMException {
>+//		soapelevement will be given here. 
>+		SOAPEnvelope soapEnvelope = (SOAPEnvelope)envelope;
>+		
>+		SOAPHeader soapHeader = soapEnvelope.getHeader();
>+		SOAPHeaderBlock soapHeaderBlock = soapHeader.addHeaderBlock(
>+				Constants.WSRM.SEQUENCE_FAULT,sequenceFaultNameSpace);
>+		soapHeaderBlock.setMustUnderstand(true);
>+		
>+		
>+        if (faultCode != null) {
>+            faultCode.toSOAPEnvelope(soapHeaderBlock);
>+        }
>+		
>+		return envelope;
>+		
>+	}
>+	public void setFaultCode(FaultCode faultCode){
>+		this.faultCode = faultCode;
>+	}
>+	public FaultCode getFaultCode(){
>+		return faultCode;
>+	}
>+	public void setSequenceFaultElement(OMElement sequenceFault){
>+		sequenceFaultElement = sequenceFault;
>+	}
>+	public OMElement getSequenceFaultElement(){
>+		return sequenceFaultElement;
>+	}
>+
>+}
>Index: src/org/apache/sandesha2/wsrm/FaultCode.java
>===================================================================
>--- src/org/apache/sandesha2/wsrm/FaultCode.java	(revision 0)
>+++ src/org/apache/sandesha2/wsrm/FaultCode.java	(revision 0)
>@@ -0,0 +1,58 @@
>+/*
>+ * Copyright  1999-2004 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.
>+ *
>+ */
>+package org.apache.sandesha2.wsrm;
>+
>+import org.apache.axis2.om.OMAbstractFactory;
>+import org.apache.axis2.om.OMElement;
>+import org.apache.axis2.om.OMException;
>+import org.apache.axis2.om.OMNamespace;
>+import org.apache.axis2.soap.SOAPEnvelope;
>+import org.apache.sandesha2.Constants;
>+
>+/**
>+ * @author Saminda
>+ *
>+ */
>+public class FaultCode implements IOMRMElement {
>+	
>+	private OMElement faultCodeElement;
>+	OMNamespace faultCodeNameSpace = 
>+		OMAbstractFactory.getSOAP11Factory().createOMNamespace(
>+				Constants.WSRM.NS_URI_RM, Constants.WSRM.NS_PREFIX_RM);
>+	public FaultCode(){
>+		faultCodeElement = OMAbstractFactory.getSOAP11Factory().createOMElement(
>+				Constants.WSRM.FAULT_CODE,faultCodeNameSpace);
>+	}
>+	public OMElement getSOAPElement() throws OMException {
>+		return faultCodeElement;
>+	}
>+
>+	public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws OMException {
>+		return this;
>+	}
>+
>+	public OMElement toSOAPEnvelope(OMElement messageElement) throws OMException {
>+		messageElement.addChild(faultCodeElement);
>+		return messageElement;
>+	}
>+	public void setFaultCode(OMElement faultCode){
>+		faultCodeElement = faultCode;
>+	}
>+	public OMElement getFaultCode(){
>+		return faultCodeElement;
>+	}
>+}
>Index: src/org/apache/sandesha2/wsrm/Sequence.java
>===================================================================
>--- src/org/apache/sandesha2/wsrm/Sequence.java	(revision 0)
>+++ src/org/apache/sandesha2/wsrm/Sequence.java	(revision 0)
>@@ -0,0 +1,109 @@
>+/*
>+ * Copyright  1999-2004 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.
>+ *
>+ */
>+package org.apache.sandesha2.wsrm;
>+
>+import org.apache.axis2.om.OMAbstractFactory;
>+import org.apache.axis2.om.OMElement;
>+import org.apache.axis2.om.OMException;
>+import org.apache.axis2.om.OMNamespace;
>+import org.apache.axis2.soap.SOAPEnvelope;
>+import org.apache.axis2.soap.SOAPHeader;
>+import org.apache.axis2.soap.SOAPHeaderBlock;
>+import org.apache.sandesha2.Constants;
>+
>+/**
>+ * @author Saminda
>+ *
>+ */
>+
>+public class Sequence implements IOMRMElement {
>+
>+	private OMElement sequenceElement;
>+	private Identifier identifier;
>+	private MessageNumber messageNumber;
>+	private LastMessage lastMessage;
>+	
>+	OMNamespace seqNoNamespace =
>+		OMAbstractFactory.getSOAP11Factory().createOMNamespace(Constants.WSRM.NS_URI_RM, Constants.WSRM.NS_PREFIX_RM);
>+	public Sequence(){
>+		sequenceElement = OMAbstractFactory.getSOAP11Factory().createOMElement(Constants.WSRM.SEQUENCE,seqNoNamespace);
>+	}
>+	public OMElement getSOAPElement() throws OMException {
>+		sequenceElement.addChild(identifier.getSOAPElement());
>+		sequenceElement.addChild(messageNumber.getSOAPElement());
>+		sequenceElement.addChild(lastMessage.getSOAPElement());
>+		return sequenceElement;
>+	}
>+
>+	public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws OMException {
>+		identifier = new Identifier();
>+		lastMessage = new LastMessage();
>+		messageNumber = new MessageNumber();
>+		identifier.fromSOAPEnvelope(envelope);
>+		messageNumber.fromSOAPEnvelope(envelope);
>+		lastMessage.fromSOAPEnvelope(envelope);
>+		return this;
>+	}
>+	
>+	public OMElement toSOAPEnvelope(OMElement envelope) throws OMException {
>+		//soapelevement will be given here. 
>+		SOAPEnvelope soapEnvelope = (SOAPEnvelope)envelope;
>+		
>+		SOAPHeader soapHeader = soapEnvelope.getHeader();
>+		SOAPHeaderBlock soapHeaderBlock = soapHeader.addHeaderBlock(
>+				Constants.WSRM.SEQUENCE,seqNoNamespace);
>+		soapHeaderBlock.setMustUnderstand(true);
>+		
>+		if (lastMessage != null) {
>+            lastMessage.toSOAPEnvelope(soapHeaderBlock);
>+        }
>+
>+        if (identifier != null) {
>+            identifier.toSOAPEnvelope(soapHeaderBlock);
>+        }
>+
>+        if (messageNumber != null) {
>+            messageNumber.toSOAPEnvelope(soapHeaderBlock);
>+        }
>+		
>+		return envelope;
>+	}
>+	public void addChildElement(OMElement element) throws OMException{
>+		sequenceElement.addChild(element);
>+	}
>+	
>+	public Identifier getIdentifier(){
>+		return identifier;
>+	}
>+	public LastMessage getLastMessage(){
>+		return lastMessage;
>+	}
>+	public MessageNumber getMessageNumber(){
>+		return messageNumber;
>+	}
>+	public void setIdentifier(Identifier identifier){
>+		this.identifier = identifier;
>+	}
>+	public void setLastMessage(LastMessage lastMessage){
>+		this.lastMessage = lastMessage;
>+	}
>+	public void setMessageNumber(MessageNumber messageNumber){
>+		this.messageNumber = messageNumber;
>+	}
>+	
>+
>+}
>Index: src/org/apache/sandesha2/wsrm/LastMessage.java
>===================================================================
>--- src/org/apache/sandesha2/wsrm/LastMessage.java	(revision 0)
>+++ src/org/apache/sandesha2/wsrm/LastMessage.java	(revision 0)
>@@ -0,0 +1,84 @@
>+/*
>+ * Copyright  1999-2004 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.
>+ *
>+ */
>+package org.apache.sandesha2.wsrm;
>+
>+import java.util.Iterator;
>+
>+import org.apache.axis2.om.OMAbstractFactory;
>+import org.apache.axis2.om.OMElement;
>+import org.apache.axis2.om.OMException;
>+import org.apache.axis2.om.OMNamespace;
>+import org.apache.axis2.om.OMNode;
>+import org.apache.axis2.soap.SOAPEnvelope;
>+import org.apache.sandesha2.Constants;
>+
>+/**
>+ * @author Saminda
>+ *
>+ */
>+public class LastMessage implements IOMRMElement {
>+
>+	private OMElement lastMessageElement;
>+	OMNamespace lastMsgNamespace =
>+		OMAbstractFactory.getSOAP11Factory().createOMNamespace(Constants.WSRM.NS_URI_RM, Constants.WSRM.NS_PREFIX_RM);
>+	public LastMessage(){
>+		lastMessageElement = OMAbstractFactory.getSOAP11Factory().createOMElement(Constants.WSRM.LAST_MSG,lastMsgNamespace);	
>+	}
>+	public OMElement getSOAPElement() throws OMException {
>+		return lastMessageElement;
>+	}
>+
>+	private boolean readMNElement(OMElement element){
>+		Iterator iterator = element.getChildren();
>+		while(iterator.hasNext()){
>+			OMNode omNode = (OMNode)iterator.next();
>+			if( omNode.getType() != OMNode.ELEMENT_NODE){
>+				continue;
>+			}
>+			OMElement childElement = (OMElement)omNode;
>+			if (childElement.getLocalName().equals(Constants.WSRM.LAST_MSG)){
>+				lastMessageElement = childElement;
>+				return true;
>+			}else{
>+				readMNElement(childElement);
>+			}
>+		}
>+		return false;
>+	}
>+	public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws OMException {
>+		readMNElement(envelope);
>+		return this;
>+	}
>+
>+	
>+	public OMElement toSOAPEnvelope(OMElement messageElement) throws OMException {
>+		//soapheaderblock element will be given
>+		messageElement.addChild(lastMessageElement);
>+		return messageElement;
>+	}
>+	public void setLastMessageElement(OMElement lastMsgElement){
>+		lastMessageElement = lastMsgElement;
>+	}
>+	public OMElement getLastMessageElement(){
>+		return lastMessageElement;
>+	}
>+	public boolean isPresent(){
>+		return (lastMessageElement != null) ? true:false;
>+	}
>+	
>+
>+}
>Index: src/org/apache/sandesha2/wsrm/RMElements.java
>===================================================================
>--- src/org/apache/sandesha2/wsrm/RMElements.java	(revision 0)
>+++ src/org/apache/sandesha2/wsrm/RMElements.java	(revision 0)
>@@ -0,0 +1,126 @@
>+/*
>+ * Copyright  1999-2004 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.
>+ *
>+ */
>+package org.apache.sandesha2.wsrm;
>+
>+import java.util.Iterator;
>+
>+import org.apache.axis2.om.OMElement;
>+import org.apache.axis2.om.OMException;
>+import org.apache.axis2.soap.SOAPEnvelope;
>+import org.apache.axis2.soap.SOAPHeader;
>+import org.apache.axis2.soap.SOAPHeaderBlock;
>+import org.apache.sandesha2.Constants;
>+
>+/**
>+ * @author Saminda
>+ *
>+ */
>+public class RMElements{
>+	private Sequence sequenceElement;
>+	private SequenceAcknowledgement sequenceAcknowledgementElement;
>+	
>+	private CreateSequence createSequenceElement;
>+	private CreateSequenceResponse createSequenceResponseElement;
>+	private TerminateSequence terminateSequenceElement;
>+
>+	public OMElement getSOAPElement() throws OMException {
>+		//this mehod has no significant in the code
>+		return null;
>+	}
>+	
>+	public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws OMException {
>+		SOAPHeader soapHeader = envelope.getHeader();
>+		Iterator iterator = soapHeader.examineAllHeaderBlocks();
>+		while (iterator.hasNext()){
>+			SOAPHeaderBlock childBlock = (SOAPHeaderBlock)iterator.next();
>+			if (childBlock.getLocalName().equals(Constants.WSRM.SEQUENCE)){
>+				sequenceElement = new Sequence();
>+				childBlock.setMustUnderstand(false);
>+				childBlock.setComplete(true);
>+				sequenceElement.fromSOAPEnvelope(envelope);
>+				
>+			}
>+			if (childBlock.getLocalName().equals(Constants.WSRM.SEQUENCE_ACK)){
>+				sequenceAcknowledgementElement = new SequenceAcknowledgement();
>+				childBlock.setMustUnderstand(false);
>+				childBlock.setComplete(true);
>+				sequenceAcknowledgementElement.fromSOAPEnvelope(envelope);
>+			}
>+		}
>+		createSequenceElement = new CreateSequence();
>+		createSequenceResponseElement = new CreateSequenceResponse();
>+		terminateSequenceElement = new TerminateSequence();
>+		
>+		createSequenceElement.fromSOAPEnvelope(envelope);
>+		createSequenceResponseElement.fromSOAPEnvelope(envelope);
>+		terminateSequenceElement.fromSOAPEnvelope(envelope);
>+		return this;
>+	}
>+
>+	public SOAPEnvelope toSOAPEnvelope(SOAPEnvelope envelope) throws OMException {
>+		
>+		
>+		if(sequenceElement != null){
>+			sequenceElement.toSOAPEnvelope(envelope);
>+		}
>+		if ( sequenceAcknowledgementElement != null) {
>+			sequenceAcknowledgementElement.toSOAPEnvelope(envelope);
>+		}
>+		if ( createSequenceElement != null){
>+			createSequenceElement.toSOAPEnvelope(envelope);
>+		}
>+		if (createSequenceResponseElement != null){
>+			createSequenceResponseElement.toSOAPEnvelope(envelope);
>+		}
>+		if (terminateSequenceElement != null){
>+			terminateSequenceElement.toSOAPEnvelope(envelope);
>+		}
>+		return envelope;
>+	}
>+	public CreateSequence getCreateSequence(){
>+		return createSequenceElement;
>+	}
>+	public CreateSequenceResponse getCreateSequenceResponse(){
>+		return createSequenceResponseElement;
>+	}
>+	public Sequence getSequence(){
>+		return sequenceElement;
>+	}
>+	public SequenceAcknowledgement getSequenceAcknowledgement(){
>+		return sequenceAcknowledgementElement;
>+	}
>+	public TerminateSequence getTerminateSequence(){
>+		return terminateSequenceElement;
>+	}
>+	public void setCreateSequence(CreateSequence createSequence){
>+		createSequenceElement = createSequence;
>+	}
>+	public void setCreateSequenceResponse(CreateSequenceResponse createSequenceResponse){
>+		createSequenceResponseElement = createSequenceResponse;
>+	}
>+	public void setSequence(Sequence sequence){
>+		sequenceElement = sequence;
>+	}
>+	public void setSequenceAcknowledgement(SequenceAcknowledgement sequenceAcknowledgement){
>+		sequenceAcknowledgementElement = sequenceAcknowledgement;
>+	}
>+	public void setTerminateSequence(TerminateSequence terminateSequence){
>+		terminateSequenceElement = terminateSequence;
>+	}
>+	
>+	
>+}
>Index: src/org/apache/sandesha2/wsrm/CreateSequenceResponse.java
>===================================================================
>--- src/org/apache/sandesha2/wsrm/CreateSequenceResponse.java	(revision 0)
>+++ src/org/apache/sandesha2/wsrm/CreateSequenceResponse.java	(revision 0)
>@@ -0,0 +1,81 @@
>+/*
>+ * Copyright  1999-2004 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.
>+ *
>+ */
>+package org.apache.sandesha2.wsrm;
>+
>+import org.apache.axis2.om.OMAbstractFactory;
>+import org.apache.axis2.om.OMElement;
>+import org.apache.axis2.om.OMException;
>+import org.apache.axis2.om.OMNamespace;
>+import org.apache.axis2.soap.SOAPBody;
>+import org.apache.axis2.soap.SOAPEnvelope;
>+import org.apache.sandesha2.Constants;
>+
>+/**
>+ * @author Saminda
>+ *
>+ */
>+public class CreateSequenceResponse implements IOMRMElement {
>+	private OMElement createSequenceResponseElement;
>+	private Identifier identifier;
>+	private Accept accept;
>+	OMNamespace createSeqResNoNamespace =
>+		OMAbstractFactory.getSOAP11Factory().createOMNamespace(Constants.WSRM.NS_URI_RM, Constants.WSRM.NS_PREFIX_RM);
>+	public CreateSequenceResponse(){
>+		createSequenceResponseElement = OMAbstractFactory.getSOAP11Factory().createOMElement(
>+				Constants.WSRM.CREATE_SEQUENCE_RESPONSE,createSeqResNoNamespace);
>+	}
>+	public OMElement getSOAPElement() throws OMException {
>+		return createSequenceResponseElement;
>+	}
>+
>+	public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws OMException {
>+		identifier = new Identifier();
>+		accept = new Accept();
>+		identifier.fromSOAPEnvelope(envelope);
>+		accept.fromSOAPEnvelope(envelope);
>+		return this;
>+	}
>+
>+	public OMElement toSOAPEnvelope(OMElement envelope) throws OMException {
>+		SOAPEnvelope soapEnvelope = (SOAPEnvelope)envelope;
>+		SOAPBody soapBody = soapEnvelope.getBody();
>+		soapBody.addChild(createSequenceResponseElement);
>+		if( identifier != null ){
>+			identifier.toSOAPEnvelope(createSequenceResponseElement);
>+		}
>+		if( accept != null){
>+			accept.toSOAPEnvelope(createSequenceResponseElement);
>+		}
>+		return envelope;
>+	}
>+	public void addChildElement(OMElement element){
>+		createSequenceResponseElement.addChild(element);
>+	}
>+	public void setIdentifier(Identifier identifier){
>+		this.identifier = identifier;
>+	}
>+	public Identifier getIdentifier(){
>+		return identifier;
>+	}
>+	public void setAccept(Accept accept){
>+		this.accept = accept;
>+	}
>+	public Accept getAccept(){
>+		return accept;
>+	}
>+
>+}
>Index: src/org/apache/sandesha2/wsrm/Nack.java
>===================================================================
>--- src/org/apache/sandesha2/wsrm/Nack.java	(revision 0)
>+++ src/org/apache/sandesha2/wsrm/Nack.java	(revision 0)
>@@ -0,0 +1,86 @@
>+/*
>+ * Copyright  1999-2004 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.
>+ *
>+ */
>+package org.apache.sandesha2.wsrm;
>+
>+import java.util.Iterator;
>+
>+import org.apache.axis2.om.OMAbstractFactory;
>+import org.apache.axis2.om.OMElement;
>+import org.apache.axis2.om.OMException;
>+import org.apache.axis2.om.OMNamespace;
>+import org.apache.axis2.om.OMNode;
>+import org.apache.axis2.soap.SOAPEnvelope;
>+import org.apache.sandesha2.Constants;
>+
>+/**
>+ * @author Saminda
>+ *
>+ */
>+public class Nack implements IOMRMElement {
>+	private OMElement nackElement;
>+	private long notAckNumber;
>+	OMNamespace nackNamespace =
>+		OMAbstractFactory.getSOAP11Factory().createOMNamespace(Constants.WSRM.NS_URI_RM, Constants.WSRM.NS_PREFIX_RM);
>+	public Nack(){
>+		nackElement = OMAbstractFactory.getSOAP11Factory().createOMElement(
>+				Constants.WSRM.NACK,nackNamespace);
>+	}
>+	public OMElement getSOAPElement() throws OMException {
>+		nackElement.addChild(OMAbstractFactory.getSOAP11Factory().createText(
>+				new Long(notAckNumber).toString()));
>+		return nackElement;
>+	}
>+	private boolean readNackElement(OMElement element){
>+		Iterator iterator = element.getChildren();
>+		while(iterator.hasNext()){
>+			OMNode omNode = (OMNode)iterator.next();
>+			if(omNode.getType() != OMNode.ELEMENT_NODE){
>+				continue;
>+			}
>+			OMElement childElement = (OMElement)omNode;
>+			if(childElement.getLocalName().equals(Constants.WSRM.NACK)){
>+				notAckNumber = Long.parseLong(childElement.getText());
>+				return true;
>+			}else{
>+				readNackElement(childElement);
>+			}
>+		}
>+		return false;	
>+	}
>+	//duplicate method for the purpose of using comming iteration easily
>+	public Object fromSOAPEnvelope(OMElement element) throws OMException{
>+		notAckNumber = Long.parseLong(element.getText());
>+		return this;
>+	} 
>+	public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws OMException {
>+		readNackElement(envelope);
>+		return this;
>+	}
>+	public OMElement toSOAPEnvelope(OMElement messageElement) throws OMException {
>+		nackElement.addChild(OMAbstractFactory.getSOAP11Factory().createText(
>+				new Long(notAckNumber).toString()));
>+		messageElement.addChild(nackElement);
>+		return messageElement;
>+	}
>+	public void setNackNumber(long notAckNumber){
>+		this.notAckNumber = notAckNumber;
>+	}
>+	public long getNackNumber(){
>+		return notAckNumber;
>+	}
>+
>+}
>Index: src/org/apache/sandesha2/wsrm/AckRequested.java
>===================================================================
>--- src/org/apache/sandesha2/wsrm/AckRequested.java	(revision 0)
>+++ src/org/apache/sandesha2/wsrm/AckRequested.java	(revision 0)
>@@ -0,0 +1,87 @@
>+/*
>+ * Copyright  1999-2004 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.
>+ *
>+ */
>+package org.apache.sandesha2.wsrm;
>+
>+import org.apache.axis2.om.OMAbstractFactory;
>+import org.apache.axis2.om.OMElement;
>+import org.apache.axis2.om.OMException;
>+import org.apache.axis2.om.OMNamespace;
>+import org.apache.axis2.soap.SOAPEnvelope;
>+import org.apache.axis2.soap.SOAPHeader;
>+import org.apache.axis2.soap.SOAPHeaderBlock;
>+import org.apache.sandesha2.Constants;
>+
>+/**
>+ * @author Saminda
>+ *
>+ */
>+public class AckRequested implements IOMRMElement {
>+	private OMElement ackRequestedElement;
>+	private Identifier identifier;
>+	private MessageNumber messageNumber;
>+	OMNamespace ackReqNoNamespace =
>+		OMAbstractFactory.getSOAP11Factory().createOMNamespace(Constants.WSRM.NS_URI_RM, Constants.WSRM.NS_PREFIX_RM);
>+	public AckRequested(){
>+		ackRequestedElement = OMAbstractFactory.getSOAP11Factory().createOMElement(
>+				Constants.WSRM.ACK_REQUESTED,ackReqNoNamespace);
>+	}
>+	public OMElement getSOAPElement() throws OMException {
>+		ackRequestedElement.addChild(identifier.getSOAPElement());
>+		ackRequestedElement.addChild(messageNumber.getSOAPElement());
>+		return ackRequestedElement;
>+	}
>+
>+	public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws OMException {
>+		identifier = new Identifier();
>+		messageNumber = new MessageNumber();
>+		identifier.fromSOAPEnvelope(envelope);
>+		messageNumber.fromSOAPEnvelope(envelope);
>+		return this;
>+	}
>+
>+	public OMElement toSOAPEnvelope(OMElement envelope) throws OMException {
>+		SOAPEnvelope soapEnvelope = (SOAPEnvelope)envelope;
>+		SOAPHeader soapHeader = soapEnvelope.getHeader();
>+		SOAPHeaderBlock soapHeaderBlock = soapHeader.addHeaderBlock(
>+				Constants.WSRM.ACK_REQUESTED,ackReqNoNamespace);
>+		soapHeaderBlock.setMustUnderstand(true);
>+		if( identifier != null){
>+			identifier.toSOAPEnvelope(soapHeaderBlock);
>+		}
>+		if ( messageNumber != null){
>+			messageNumber.toSOAPEnvelope(soapHeaderBlock);
>+		}
>+		
>+		return envelope;
>+	}
>+	public void setIdentifier(Identifier identifier){
>+		this.identifier = identifier;
>+	}
>+	public void setMessageNumber(MessageNumber messageNumber){
>+		this.messageNumber = messageNumber;
>+	}
>+	public Identifier getIdentifier(){
>+		return identifier;
>+	}
>+	public MessageNumber getMessageNumber(){
>+		return messageNumber;
>+	}
>+	public void addChildElement(OMElement element){
>+		ackRequestedElement.addChild(element);
>+	}
>+
>+}
>Index: src/org/apache/sandesha2/wsrm/TerminateSequence.java
>===================================================================
>--- src/org/apache/sandesha2/wsrm/TerminateSequence.java	(revision 0)
>+++ src/org/apache/sandesha2/wsrm/TerminateSequence.java	(revision 0)
>@@ -0,0 +1,70 @@
>+/*
>+ * Copyright  1999-2004 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.
>+ *
>+ */
>+package org.apache.sandesha2.wsrm;
>+
>+import org.apache.axis2.om.OMAbstractFactory;
>+import org.apache.axis2.om.OMElement;
>+import org.apache.axis2.om.OMException;
>+import org.apache.axis2.om.OMNamespace;
>+import org.apache.axis2.soap.SOAPBody;
>+import org.apache.axis2.soap.SOAPEnvelope;
>+import org.apache.sandesha2.Constants;
>+
>+/**
>+ * @author Saminda
>+ *
>+ */
>+public class TerminateSequence implements IOMRMElement {
>+	private OMElement terminateSequenceElement;
>+	private Identifier identifier;
>+	
>+	OMNamespace terminateSequenceNameSpace = 
>+		OMAbstractFactory.getSOAP11Factory().createOMNamespace(
>+				Constants.WSRM.NS_URI_RM, Constants.WSRM.NS_PREFIX_RM);
>+	public TerminateSequence(){
>+		terminateSequenceElement = OMAbstractFactory.getSOAP11Factory().createOMElement(
>+				Constants.WSRM.TERMINATE_SEQUENCE,terminateSequenceNameSpace);
>+	}
>+	public OMElement getSOAPElement() throws OMException {
>+		terminateSequenceElement.addChild(identifier.getSOAPElement());
>+		return terminateSequenceElement;
>+	}
>+	public void addChild(OMElement element){
>+		terminateSequenceElement.addChild(element);
>+	}
>+	public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws OMException {
>+		identifier = new Identifier();
>+		identifier.fromSOAPEnvelope(envelope);
>+		return this;
>+	}
>+	public OMElement toSOAPEnvelope(OMElement envelope) throws OMException {
>+		SOAPEnvelope soapEnvelope = (SOAPEnvelope)envelope;
>+		SOAPBody soapBody = soapEnvelope.getBody();
>+		if (identifier != null){
>+			identifier.toSOAPEnvelope(terminateSequenceElement);
>+		}
>+		soapBody.addChild(terminateSequenceElement);
>+		return envelope;
>+	}
>+	public Identifier getIdentifier(){
>+		return identifier;
>+	}
>+	public void setIdentifier(Identifier identifier){
>+		this.identifier = identifier;
>+	}
>+
>+}
>Index: src/org/apache/sandesha2/wsrm/Identifier.java
>===================================================================
>--- src/org/apache/sandesha2/wsrm/Identifier.java	(revision 0)
>+++ src/org/apache/sandesha2/wsrm/Identifier.java	(revision 0)
>@@ -0,0 +1,121 @@
>+/*
>+ * Copyright  1999-2004 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.
>+ *
>+ */
>+package org.apache.sandesha2.wsrm;
>+
>+/**
>+ * @author Saminda
>+ *
>+ */
>+import java.util.Iterator;
>+
>+import org.apache.axis2.om.OMAbstractFactory;
>+import org.apache.axis2.om.OMElement;
>+import org.apache.axis2.om.OMException;
>+import org.apache.axis2.om.OMNamespace;
>+import org.apache.axis2.om.OMNode;
>+import org.apache.axis2.soap.SOAPEnvelope;
>+import org.apache.sandesha2.Constants;
>+
>+public class Identifier implements Constants, IOMRMElement {
>+	private OMElement identifierElement;
>+
>+	private String identifier;
>+
>+	OMNamespace wsuNamespace = OMAbstractFactory.getSOAP11Factory().createOMNamespace(
>+			Constants.WSRM.NS_URI_RM, Constants.WSRM.NS_PREFIX_RM);
>+
>+	public Identifier() {
>+
>+		identifierElement = OMAbstractFactory.getSOAP11Factory().createOMElement(
>+				Constants.WSRM.IDENTIFIER, wsuNamespace);
>+	}
>+
>+	public void setURI(String uri) throws OMException {
>+		identifierElement.addChild(OMAbstractFactory.getSOAP11Factory().createText(uri));
>+	}
>+
>+	public void setIndentifer(String identifier) {
>+		this.identifier = identifier;
>+	}
>+
>+	public String getIdentifier() {
>+		return identifier;
>+	}
>+
>+	public OMElement getSOAPElement() throws OMException {
>+		identifierElement.addChild(OMAbstractFactory.getSOAP11Factory().createText(
>+				identifier));
>+		return identifierElement;
>+	}
>+
>+	private boolean readElement(OMElement element) {
>+		Iterator iterator = element.getChildren();
>+		while (iterator.hasNext()) {
>+			OMNode omnode = (OMNode)iterator.next();
>+			if(omnode.getType() != OMNode.ELEMENT_NODE){
>+				continue ;
>+			}				
>+			OMElement childElement = (OMElement)omnode ;
>+			if (childElement.getLocalName().equals(Constants.WSRM.IDENTIFIER)) {
>+				identifier = childElement.getText();
>+				return true;
>+			}else {
>+			   readElement(childElement);	
>+			}
>+		}
>+		return false;
>+	}
>+
>+	public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws OMException {
>+		readElement(envelope);
>+		return this;
>+	}
>+
>+	public OMElement toSOAPEnvelope(OMElement messageElement)
>+			throws OMException {
>+		//soapheaderblock will be given or anyother block reference to the requirment
>+		if (identifier == null || identifier == "") {
>+			throw new OMException("Set Identifier");
>+		}
>+		identifierElement.addChild(OMAbstractFactory.getSOAP11Factory().createText(
>+				identifier));
>+		messageElement.addChild(identifierElement);
>+		return messageElement;
>+	}
>+
>+	public String toString() {
>+		return identifier;
>+	}
>+
>+	public boolean equals(Object obj) {
>+
>+		if (obj instanceof Identifier) {
>+			if (this.identifier == ((String) (((Identifier) obj)
>+					.getIdentifier()))) {
>+				return true;
>+			} else {
>+				return false;
>+			}
>+		} else {
>+			return false;
>+		}
>+	}
>+
>+	public int hashCode() {
>+		return identifier.hashCode();
>+	}
>+}
>\ No newline at end of file
>Index: src/org/apache/sandesha2/wsrm/AcknowledgementRange.java
>===================================================================
>--- src/org/apache/sandesha2/wsrm/AcknowledgementRange.java	(revision 0)
>+++ src/org/apache/sandesha2/wsrm/AcknowledgementRange.java	(revision 0)
>@@ -0,0 +1,118 @@
>+/*
>+ * Copyright  1999-2004 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.
>+ *
>+ */
>+package org.apache.sandesha2.wsrm;
>+
>+import java.util.Iterator;
>+
>+import org.apache.axis2.om.OMAbstractFactory;
>+import org.apache.axis2.om.OMAttribute;
>+import org.apache.axis2.om.OMElement;
>+import org.apache.axis2.om.OMException;
>+import org.apache.axis2.om.OMNamespace;
>+import org.apache.axis2.om.OMNode;
>+import org.apache.axis2.soap.SOAPEnvelope;
>+import org.apache.sandesha2.Constants;
>+
>+/**
>+ * @author Saminda
>+ */
>+public class AcknowledgementRange implements IOMRMElement {
>+	private OMElement acknowledgementRangeElement;
>+	private long maxValue;
>+	private long minValue;
>+	OMNamespace ackRangeNamespace = 
>+        OMAbstractFactory.getSOAP11Factory().createOMNamespace(Constants.WSRM.NS_URI_RM, Constants.WSRM.NS_PREFIX_RM);
>+	public AcknowledgementRange(){
>+		acknowledgementRangeElement = OMAbstractFactory.getSOAP11Factory().createOMElement(
>+				Constants.WSRM.ACK_RANGE,ackRangeNamespace);
>+	}
>+	public OMElement getSOAPElement() throws OMException {
>+		acknowledgementRangeElement.addAttribute(Constants.WSRM.LOWER,
>+				new Long(minValue).toString(),ackRangeNamespace);
>+		acknowledgementRangeElement.addAttribute(Constants.WSRM.UPPER,
>+				new Long(maxValue).toString(),ackRangeNamespace);
>+		return acknowledgementRangeElement;
>+	}
>+
>+	private boolean readACKRangeElement(OMElement element){
>+		Iterator iterator = element.getChildren();
>+		while(iterator.hasNext()){
>+			OMNode omNode = (OMNode)iterator.next();
>+			if(omNode.getType() != OMNode.ELEMENT_NODE){
>+				continue;
>+			}
>+			OMElement childElement = (OMElement)omNode;
>+			if(childElement.getLocalName().equals(Constants.WSRM.ACK_RANGE)){
>+				Iterator ite = childElement.getAttributes();
>+				while(ite.hasNext()){
>+					OMAttribute attr = (OMAttribute)ite.next();
>+					if (attr.getLocalName().equals(Constants.WSRM.LOWER)){
>+						minValue = Long.parseLong(attr.getValue());
>+					}
>+					else{										
>+						maxValue = Long.parseLong(attr.getValue());
>+						return true;
>+					}
>+				}
>+			}else{
>+				readACKRangeElement(childElement);
>+			}
>+		}
>+		return false;
>+	}
>+	//this fromSOAPEnvelope(OMElement element) for the purpose of making the coming iteration easier
>+	public Object fromSOAPEnvelope(OMElement element) throws OMException{
>+		Iterator iterator = element.getAttributes();
>+		while(iterator.hasNext()){
>+			OMAttribute attr = (OMAttribute)iterator.next();
>+			if (attr.getLocalName().equals(Constants.WSRM.LOWER)){
>+				minValue = Long.parseLong(attr.getValue());
>+			}
>+			else{										
>+				maxValue = Long.parseLong(attr.getValue());
>+			}
>+		}
>+		return this;
>+	} 		
>+	
>+	public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws OMException {
>+		readACKRangeElement(envelope);
>+		return this;
>+	}
>+
>+	public OMElement toSOAPEnvelope(OMElement messageElement) throws OMException {
>+		acknowledgementRangeElement.addAttribute(Constants.WSRM.LOWER,
>+				new Long(minValue).toString(),ackRangeNamespace);
>+		acknowledgementRangeElement.addAttribute(Constants.WSRM.UPPER,
>+				new Long(maxValue).toString(),ackRangeNamespace);
>+		messageElement.addChild(acknowledgementRangeElement);
>+		return messageElement;
>+	}
>+	public void setMinValue(long minValue){
>+		this.minValue = minValue;
>+	}
>+	public void setMaxValue(long maxValue){
>+		this.maxValue = maxValue;		
>+	}
>+	public long getMinValue(){
>+		return minValue;
>+	}
>+	public long getMaxValue(){
>+		return maxValue;
>+	}
>+
>+}
>Index: src/org/apache/sandesha2/wsrm/AcksTo.java
>===================================================================
>--- src/org/apache/sandesha2/wsrm/AcksTo.java	(revision 0)
>+++ src/org/apache/sandesha2/wsrm/AcksTo.java	(revision 0)
>@@ -0,0 +1,87 @@
>+/*
>+ * Copyright  1999-2004 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.
>+ *
>+ */
>+package org.apache.sandesha2.wsrm;
>+
>+import java.util.Iterator;
>+
>+import org.apache.axis2.addressing.EndpointReference;
>+import org.apache.axis2.om.OMAbstractFactory;
>+import org.apache.axis2.om.OMElement;
>+import org.apache.axis2.om.OMException;
>+import org.apache.axis2.om.OMNamespace;
>+import org.apache.axis2.om.OMNode;
>+import org.apache.axis2.soap.SOAPEnvelope;
>+import org.apache.sandesha2.Constants;
>+/**
>+ * @author Saminda
>+ *
>+ */
>+public class AcksTo implements IOMRMElement{
>+	private EndpointReference EPR;
>+	private OMElement acksToElement;
>+	
>+	OMNamespace acksToNameSpace = 
>+		OMAbstractFactory.getSOAP11Factory().createOMNamespace(
>+				Constants.WSRM.NS_URI_RM, Constants.WSRM.NS_PREFIX_RM);
>+	public AcksTo(EndpointReference EPR){
>+		acksToElement = OMAbstractFactory.getSOAP11Factory().createOMElement(
>+				Constants.WSRM.ACKS_TO,acksToNameSpace);
>+		this.EPR = EPR;
>+	}
>+	public OMElement getSOAPElement() throws OMException {
>+		acksToElement.addChild(OMAbstractFactory.getSOAP12Factory()
>+				.createText(EPR.getAddress()));
>+		return acksToElement;
>+	}
>+
>+	public boolean readEPRElement(OMElement element){
>+		Iterator iterator = element.getChildren();
>+		while(iterator.hasNext()){
>+			OMNode omNode = (OMNode)iterator.next();
>+			if(omNode.getType() != OMNode.ELEMENT_NODE){
>+				continue;
>+			}else{
>+				OMElement omElement = (OMElement)omNode;
>+				if (omElement.getLocalName().equals(Constants.WSRM.ACKS_TO)){
>+					String uri = omElement.getText();
>+					EPR = new EndpointReference("",uri);
>+					return true;
>+				}else{
>+					readEPRElement(omElement);
>+				}
>+			}			
>+		}
>+		return false;
>+	}
>+	public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws OMException {
>+		readEPRElement(envelope);
>+		return this;
>+	}
>+	public OMElement toSOAPEnvelope(OMElement messageElement) throws OMException {
>+		acksToElement.addChild(OMAbstractFactory.getSOAP11Factory().createText(
>+				EPR.getAddress()));
>+		messageElement.addChild(acksToElement);
>+		return messageElement;
>+	}
>+	public EndpointReference getEndPointReference(){
>+		return EPR;
>+	}
>+	public void setEndPointReference(EndpointReference EPR){
>+		this.EPR = EPR;
>+	}
>+	
>+}
>Index: src/org/apache/sandesha2/wsrm/SequenceOffer.java
>===================================================================
>--- src/org/apache/sandesha2/wsrm/SequenceOffer.java	(revision 0)
>+++ src/org/apache/sandesha2/wsrm/SequenceOffer.java	(revision 0)
>@@ -0,0 +1,71 @@
>+/*
>+ * Copyright  1999-2004 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.
>+ *
>+ */
>+package org.apache.sandesha2.wsrm;
>+
>+import org.apache.axis2.om.OMAbstractFactory;
>+import org.apache.axis2.om.OMElement;
>+import org.apache.axis2.om.OMException;
>+import org.apache.axis2.om.OMNamespace;
>+import org.apache.axis2.soap.SOAPEnvelope;
>+import org.apache.sandesha2.Constants;
>+
>+/**
>+ * @author Saminda
>+ *
>+ */
>+public class SequenceOffer implements IOMRMElement {
>+	private OMElement sequenceOfferElement;
>+	private Identifier identifier;
>+	
>+	OMNamespace sequenceOfferNameSpace = 
>+		OMAbstractFactory.getSOAP11Factory().createOMNamespace(
>+				Constants.WSRM.NS_URI_RM, Constants.WSRM.NS_PREFIX_RM);
>+	public SequenceOffer(){
>+		sequenceOfferElement = OMAbstractFactory.getSOAP11Factory().createOMElement(
>+				Constants.WSRM.SEQUENCE_OFFER,sequenceOfferNameSpace);
>+	}
>+	public void addChildElement(OMElement element) throws OMException{
>+		sequenceOfferElement.addChild(element);
>+	}
>+	
>+	public OMElement getSOAPElement() throws OMException {
>+		sequenceOfferElement.addChild(identifier.getSOAPElement());
>+		return sequenceOfferElement;
>+	}
>+
>+	public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws OMException {
>+		identifier = new Identifier();
>+		identifier.fromSOAPEnvelope(envelope);
>+		return this;
>+	}
>+
>+	public OMElement toSOAPEnvelope(OMElement messageElement) throws OMException {
>+		if (identifier != null){
>+			identifier.toSOAPEnvelope(sequenceOfferElement);
>+		}
>+		messageElement.addChild(sequenceOfferElement);
>+		return messageElement;
>+	}
>+	public Identifier getIdentifer(){
>+		return identifier;
>+	}
>+	public void setIdentifier(Identifier identifier){
>+		this.identifier = identifier;		
>+	}
>+	
>+
>+}
>Index: src/org/apache/sandesha2/wsrm/CreateSequence.java
>===================================================================
>--- src/org/apache/sandesha2/wsrm/CreateSequence.java	(revision 0)
>+++ src/org/apache/sandesha2/wsrm/CreateSequence.java	(revision 0)
>@@ -0,0 +1,82 @@
>+/*
>+ * Copyright  1999-2004 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.
>+ *
>+ */
>+package org.apache.sandesha2.wsrm;
>+
>+import org.apache.axis2.addressing.EndpointReference;
>+import org.apache.axis2.om.OMAbstractFactory;
>+import org.apache.axis2.om.OMElement;
>+import org.apache.axis2.om.OMException;
>+import org.apache.axis2.om.OMNamespace;
>+import org.apache.axis2.soap.SOAPBody;
>+import org.apache.axis2.soap.SOAPEnvelope;
>+import org.apache.sandesha2.Constants;
>+
>+/**
>+ * @author Saminda
>+ *
>+ */
>+public class CreateSequence implements IOMRMElement {
>+	private OMElement createSequenceElement;
>+	private AcksTo acksTo;
>+	private SequenceOffer sequenceOffer;
>+	
>+	OMNamespace createSeqNoNamespace =
>+		OMAbstractFactory.getSOAP11Factory().createOMNamespace(Constants.WSRM.NS_URI_RM, Constants.WSRM.NS_PREFIX_RM);
>+	public CreateSequence(){
>+		createSequenceElement = OMAbstractFactory.getSOAP11Factory().createOMElement(Constants.WSRM.CREATE_SEQUENCE,
>+				createSeqNoNamespace);
>+	}
>+	public OMElement getSOAPElement() throws OMException {
>+		createSequenceElement.addChild(sequenceOffer.getSOAPElement());
>+		createSequenceElement.addChild(acksTo.getSOAPElement());
>+		return createSequenceElement;
>+	}
>+
>+	public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws OMException {
>+		sequenceOffer = new SequenceOffer();
>+		acksTo = new AcksTo(new EndpointReference("",""));
>+		sequenceOffer.fromSOAPEnvelope(envelope);
>+		acksTo.fromSOAPEnvelope(envelope);		
>+		return this;
>+	}
>+
>+	public OMElement toSOAPEnvelope(OMElement envelope) throws OMException {
>+		SOAPEnvelope soapEnvelope = (SOAPEnvelope)envelope;
>+		SOAPBody soapBody = soapEnvelope.getBody();
>+		soapBody.addChild(createSequenceElement);
>+		if(sequenceOffer != null){
>+			sequenceOffer.toSOAPEnvelope(createSequenceElement);
>+		}
>+		if (acksTo != null){
>+			acksTo.toSOAPEnvelope(createSequenceElement);
>+		}
>+		return envelope;
>+	}
>+	public void setAcksTo(AcksTo acksTo){
>+		this.acksTo = acksTo;
>+	}
>+	public void setSequenceOffer(SequenceOffer sequenceOffer){
>+		this.sequenceOffer = sequenceOffer;
>+	}
>+	public AcksTo getAcksTo(){
>+		return acksTo;
>+	}
>+	public SequenceOffer getSequenceOffer(){
>+		return sequenceOffer;
>+	}
>+
>+}
>Index: src/org/apache/sandesha2/wsrm/IOMRMElement.java
>===================================================================
>--- src/org/apache/sandesha2/wsrm/IOMRMElement.java	(revision 0)
>+++ src/org/apache/sandesha2/wsrm/IOMRMElement.java	(revision 0)
>@@ -0,0 +1,32 @@
>+/*
>+ * Copyright  1999-2004 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.
>+ *
>+ */
>+package org.apache.sandesha2.wsrm;
>+
>+/**
>+ * @author Saminda
>+ *
>+ */
>+
>+import org.apache.axis2.om.OMElement;
>+import org.apache.axis2.om.OMException;
>+import org.apache.axis2.soap.SOAPEnvelope;
>+
>+public interface IOMRMElement {
>+	public OMElement getSOAPElement() throws OMException;
>+	public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws OMException;
>+	public OMElement toSOAPEnvelope(OMElement messageElement) throws OMException;
>+}
>Index: src/org/apache/sandesha2/wsrm/MessageNumber.java
>===================================================================
>--- src/org/apache/sandesha2/wsrm/MessageNumber.java	(revision 0)
>+++ src/org/apache/sandesha2/wsrm/MessageNumber.java	(revision 0)
>@@ -0,0 +1,97 @@
>+/*
>+ * Copyright  1999-2004 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.
>+ *
>+ */
>+package org.apache.sandesha2.wsrm;
>+
>+import java.util.Iterator;
>+
>+import org.apache.axis2.om.OMAbstractFactory;
>+import org.apache.axis2.om.OMElement;
>+import org.apache.axis2.om.OMException;
>+import org.apache.axis2.om.OMNamespace;
>+import org.apache.axis2.om.OMNode;
>+import org.apache.axis2.soap.SOAPEnvelope;
>+
>+import org.apache.sandesha2.Constants;
>+
>+/**
>+ * @author Saminda
>+ *
>+ */
>+public class MessageNumber implements IOMRMElement {
>+	
>+	private long messageNumber;
>+	private OMElement messageNoElement;
>+	
>+	OMNamespace msgNoNamespace =
>+		OMAbstractFactory.getSOAP11Factory().createOMNamespace(Constants.WSRM.NS_URI_RM, Constants.WSRM.NS_PREFIX_RM);	
>+	public MessageNumber(){
>+		messageNoElement = OMAbstractFactory.getSOAP11Factory().createOMElement(Constants.WSRM.MSG_NUMBER,msgNoNamespace);
>+	}
>+	
>+	public long getMessageNumber(){
>+		return messageNumber;
>+	}
>+	public void setMessageNumber(long messageNumber){
>+		this.messageNumber = messageNumber;
>+	}
>+	private boolean readMNElement(OMElement element) {
>+		Iterator iterator = element.getChildren();
>+		while (iterator.hasNext()) {
>+			OMNode omnode = (OMNode)iterator.next();
>+			if(omnode.getType() != OMNode.ELEMENT_NODE){
>+				continue ;
>+			}				
>+			OMElement childElement = (OMElement)omnode ;
>+			if (childElement.getLocalName().equals(Constants.WSRM.MSG_NUMBER)) {
>+				messageNumber = Long.parseLong(childElement.getText());
>+				return true;
>+			}else {
>+			   readMNElement(childElement);	
>+			}
>+		}
>+		return false;
>+	}
>+	
>+	public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws OMException {
>+		readMNElement(envelope);
>+		return this;
>+	}
>+	public OMElement toSOAPEnvelope(OMElement messageElement) throws OMException {
>+		//soapheaderblock element will be given. 
>+		long msgNo = getMessageNumber();
>+		if (msgNo <= 0 ){
>+			throw new OMException("Set A Valid Message Number");
>+		}
>+		messageNoElement.addChild(OMAbstractFactory.getSOAP11Factory().createText(
>+				new Long(msgNo).toString()));
>+		messageElement.addChild(messageNoElement);
>+		
>+		return messageElement;
>+	}
>+	public OMElement getSOAPElement() throws OMException {
>+		long msgNo = getMessageNumber();
>+		messageNoElement.addChild(OMAbstractFactory.getSOAP11Factory().createText(new 
>+					Long(msgNo).toString()));
>+		
>+		return messageNoElement;
>+	}
>+	public OMElement getMessageNumberElement(){
>+		return messageNoElement;
>+	}
>+
>+
>+}
>Index: src/org/apache/sandesha2/Constants.java
>===================================================================
>--- src/org/apache/sandesha2/Constants.java	(revision 0)
>+++ src/org/apache/sandesha2/Constants.java	(revision 0)
>@@ -0,0 +1,61 @@
>+/*
>+ * Copyright  1999-2004 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.
>+ *
>+ */
>+package org.apache.sandesha2;
>+
>+/**
>+ * @author Saminda
>+ *
>+ */
>+public interface Constants {
>+
>+	public interface WSRM{
>+		public static final String NS_PREFIX_RM = "wsrm";
>+        public static final String NS_URI_RM = "http://schemas.xmlsoap.org/ws/2005/02/rm";
>+        public static final String MSG_NUMBER = "MessageaNumber";
>+        public static final String LAST_MSG = "LastMessage";
>+        public static final String SEQUENCE = "Sequence";
>+        public static final String SEQUENCE_OFFER = "Offer";
>+        public static final String TERMINATE_SEQUENCE = "TerminateSequence";
>+        public static final String FAULT_CODE = "FaultCode";
>+        public static final String SEQUENCE_FAULT = "SequenceFault";
>+        public static final String ACKS_TO = "AcksTo";
>+        public static final String CREATE_SEQUENCE = "CreateSequence";
>+        public static final String CREATE_SEQUENCE_RESPONSE = "CreateSequenceResponse";
>+        public static final String ACK_REQUESTED = "AckRequested";
>+        public static final String ACK_RANGE = "AcknowledgementRange";
>+        public static final String UPPER = "Upper";
>+        public static final String LOWER = "Lower";
>+        public static final String NACK = "Nack";
>+        public static final String SEQUENCE_ACK = "SequenceAcknowledgement";
>+        public static final String IDENTIFIER = "Identifier";
>+        public static final String ACCEPT = "Accept";
>+    }
>+
>+      String RM_HEADERS="rmHeaders";
>+      String SEQUENCE="sequence";
>+      String MESSAGE_NUMBER="messageNumber";
>+
>+      String MESSAGE_TYPE ="messageType";
>+
>+      String CREATE_SEQ_REQ="createSequenceReq";
>+      String CREATE_SEQ_RES="createSequenceRes";
>+      String ACKNOWLEDGEMENT="acknowledgement";
>+      String IN_MESSAGE="inMessage";
>+      String OUT_MESSAGE="outMessage";
>+      String FAULT_MESSAGE="faultMessage";
>+
>+}
>
>  
>
>------------------------------------------------------------------------
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
>For additional commands, e-mail: sandesha-dev-help@ws.apache.org
>



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