Author: chamikara
Date: Tue Oct 24 03:00:05 2006
New Revision: 467298

URL: http://svn.apache.org/viewvc?view=rev&rev=467298
Log:
Added an Endpoint part to the SequenceOffer. This is required by the WSRM 1.1 
specification.
Corrected the AcksTo part to enclose an EndpointReference element.
A correction to the MakeConnection action value.
Several other bug fixes


Modified:
    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/client/SandeshaClientConstants.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
    
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/MakeConnectionProcessor.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/SequenceManager.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.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/IOMRMElement.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/IOMRMPart.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/MakeConnection.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/SequenceOffer.java

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=467298&r1=467297&r2=467298
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/RMMsgContext.java 
(original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/RMMsgContext.java 
Tue Oct 24 03:00:05 2006
@@ -74,7 +74,7 @@
         * 
         * @throws SandeshaException
         */
-       public void addSOAPEnvelope() throws SandeshaException {
+       public void addSOAPEnvelope() throws AxisFault {
                int SOAPVersion = Sandesha2Constants.SOAPVersion.v1_1;
 
                if (!msgContext.isSOAP11())

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=467298&r1=467297&r2=467298
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
 Tue Oct 24 03:00:05 2006
@@ -81,7 +81,7 @@
                        
                        String ACTION_CLOSE_SEQUENCE_RESPONSE = 
"http://docs.oasis-open.org/ws-rx/wsrm/200608/CloseSequenceResponse";;
                        
-                       String ACTION_MAKE_CONNECTION = 
"http://docs.oasisopen.org/ws-rx/wsrm/200608/MakeConnection";;
+                       String ACTION_MAKE_CONNECTION = 
"http://docs.oasis-open.org/ws-rx/wsrm/200608/MakeConnection";;
                        
                        String SOAP_ACTION_CREATE_SEQUENCE = 
"http://docs.oasis-open.org/ws-rx/wsrm/200608/CreateSequence";;
 
@@ -106,8 +106,6 @@
                
                String NS_PREFIX_RM = "wsrm";
 
-               
-
                String MSG_NUMBER = "MessageNumber";
 
                String LAST_MSG = "LastMessage";
@@ -158,12 +156,15 @@
                
                String MAKE_CONNECTION = "MakeConnection";
                
+               String ADDRESS = "Address";
+               
                String MESSAGE_PENDING = "MessagePending";
                
                String PENDING = "pending";
                
                String USES_SEQUENCE_STR = "UsesSequenceSTR";
                
+               String ENDPOINT = "Endpoint";
        }
 
        public interface WSA {
@@ -314,6 +315,8 @@
                String SECURITY_TOKEN = "SecurityToken";
                
                String SOAP_VERSION = "SOAPVersion";
+               
+               String OFFERED_ENDPOINT = "OfferedEndpoint";
 
        }
 

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClientConstants.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClientConstants.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClientConstants.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClientConstants.java
 Tue Oct 24 03:00:05 2006
@@ -30,5 +30,6 @@
        public static String DUMMY_MESSAGE = "Sandesha2DummyMessage"; //If this 
property is set, even though this message will invoke the RM handlers, this 
will not be sent as an actual application message
        public static String UNRELIABLE_MESSAGE = "Sandesha2UnreliableMessage";
        public static String SANDESHA_LISTENER = "Sandesha2Listener";
-       public static String USE_REPLY_TO_AS_ACKS_TO = "UseReplyToAsAcksTo"; 
+       public static String USE_REPLY_TO_AS_ACKS_TO = "UseReplyToAsAcksTo";
+       public static String OFFERED_ENDPOINT = "OfferedEndpoint";
 }

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=467298&r1=467297&r2=467298
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
 Tue Oct 24 03:00:05 2006
@@ -121,6 +121,11 @@
                                log.debug(message);
                                throw new AxisFault(message, ex);
                        }
+
+                       //Ack messages will be paused
+                       if 
(rmMsgCtx.getMessageType()==Sandesha2Constants.MessageTypes.ACK) {
+                               rmMsgCtx.pause();
+                       }
                        
                        // validating the message
                        MessageValidator.validateMessage(rmMsgCtx, 
storageManager);
@@ -130,6 +135,7 @@
                        if (msgProcessor != null)
                                msgProcessor.processInMessage(rmMsgCtx);
 
+                       
                } catch (AxisFault e) {
                        // message should not be sent in a exception situation.
                        msgCtx.pause();

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
 Tue Oct 24 03:00:05 2006
@@ -199,12 +199,14 @@
        public static final String createSeqNullAcksTo="createSeqNullAcksTo";
        public static final String acceptNullAcksTo="acceptNullAcksTo";
        public static final String noAcksToPart="noAcksToPart";
+       public static final String noElementPart="noElementPart";
        public static final String cannotProcessExpires="cannotProcessExpires";
        public static final String noFaultCode="noFaultCode";
        public static final String seqAckNonHeader="seqAckNonHeader";
        public static final String 
makeConnectionCannotBeAddedToNonBody="makeConnectionCannotBeAddedToNonBody";
 
-       public static final String cannotSetACksTo="cannotSetACksTo";
+       public static final String cannotSetAcksTo="cannotSetAcksTo";
+       public static final String cannotSetEndpoint="cannotSetEndpoint";
        public static final String invalidMsgNumber="invalidMsgNumber";
        public static final String addressNotValid="addressNotValid";
 
@@ -240,4 +242,10 @@
     public final static String noSecurityResults = "noSecurityResults";
     public final static String noSecConvTokenInPolicy = 
"noSecConvTokenInPolicy";
     public final static String noServicePolicy = "noServicePolicy";
-}
+    
+    public final static String elementMustForSpec = "elementMustForSpec";
+    public final static String addressingNamespaceNotSet = 
"addressingNamespaceNotSet";
+    public final static String invalidOfferNoResponseEndpoint = 
"invalidOfferNoResponseEndpoint";
+    public final static String invalidElementFoundWithinElement = 
"invalidElementFoundWithinElement";
+    
+}
\ No newline at end of file

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
 Tue Oct 24 03:00:05 2006
@@ -107,6 +107,7 @@
 specVersionPropertyNotAvailable=''SpecVersion'' sequence property is not 
available for the incoming sequence {0}: cannot find the RM version for 
outgoing side.
 specVersionNotSet=Error: 'SpecVersion'' is not set.
 specDoesNotSupportElement=Spec ''{0}'' does not support the element {1}
+addressingNamespaceNotSet=Internal error. Addressing namespace not set.
 
 couldNotSendTerminate=Could not send the terminate message due to error {0}.
 couldNotSendClose=Could not send the close sequence message due to error {0}.
@@ -219,14 +220,18 @@
 createSeqNullAcksTo=Cannot add a ''create seqeunce part'' since ''acksTo'' is 
not set.
 acceptNullAcksTo=Cannot add ''Accept'' part since ''acksTo'' is not set.
 noAcksToPart=The passed element {0} does not contain an ''acksTo'' part.
+noElementPart=The passed element {0} does not contain an ''Ele,'' part.
 cannotProcessExpires=Cannot process ''Expires'' since the duration value is 
not valid.
 noFaultCode=Cannot add ''Fault Code'' since the the value is not set correctly.
 seqAckNonHeader=Cannot get sequence acknowlegement from a non-header element
 
-cannotSetACksTo=Cannot set the address as the value is not valid {0}
+cannotSetACksTo=Cannot set the of the AcksTo element address as the value is 
not valid {0}
+cannotSetEndpoint=Cannot set the address of the Elndpoint element as the value 
is not valid {0}
 setAValidMsgNumber=Set A Valid Message Number {0}.
 addressNotValid=Cannot set the address - the address value is not valid
 
+elementMustForSpec=Element ''{0}'' must be present for the spec ''{1}'' 
+
 #-------------------------------------
 #
 #      Client messages
@@ -254,6 +259,8 @@
 cannotFindReqMsgFromOpContext=Cannot find the request message from the 
operation context
 toEPRNotSet=To EPR has not been set in the given message
 cannotFindTransportInDesc=Cannot find the transport in description {0} in the 
ConfigurationContext
+invalidOfferNoResponseEndpoint=Cannot derive a valid offer from the given 
infomation. No Endpoint for receiving messages.
+invalidElementFoundWithinElement=Found invalid ''{0}'' element within ''{1}'' 
element
 
 #------------------
 # Security messages

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=467298&r1=467297&r2=467298
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
 Tue Oct 24 03:00:05 2006
@@ -55,6 +55,7 @@
 import org.apache.sandesha2.wsrm.Accept;
 import org.apache.sandesha2.wsrm.CreateSequence;
 import org.apache.sandesha2.wsrm.CreateSequenceResponse;
+import org.apache.sandesha2.wsrm.Endpoint;
 import org.apache.sandesha2.wsrm.SequenceOffer;
 
 /**
@@ -119,6 +120,9 @@
                                                                                
                                                                                
                                                // created
                                                                                
                                                                                
                                                // sequnceID.
 
+                       
+                       
+                       
                        RMMsgContext createSeqResponse = 
RMMsgCreator.createCreateSeqResponseMsg(createSeqRMMsg, outMessage,
                                        newSequenceId, storageManager); // 
converting the blank out
                                                                                
                        // message in to a create
@@ -166,6 +170,7 @@
                                                                                
                                                                                
// dummy
                                                                                
                                                                                
// value.
                                        
+                                       
                                        String outgoingSideSequencePropertyKey 
= outgoingSideInternalSequenceId;
 
                                        CreateSeqBeanMgr createSeqMgr = 
storageManager.getCreateSeqBeanMgr();
@@ -188,6 +193,19 @@
                                        
internalSequenceBean.setSequencePropertyKey(offeredSequenceID);
                                        
internalSequenceBean.setValue(outgoingSideInternalSequenceId);
                                        seqPropMgr.insert(internalSequenceBean);
+                                       
+                                       Endpoint endpoint = offer.getEndpoint();
+                                       if (endpoint!=null) {
+                                               // setting the OfferedEndpoint
+                                               SequencePropertyBean 
offeredEndpointBean = new SequencePropertyBean();
+                                               
offeredEndpointBean.setName(Sandesha2Constants.SequenceProperties.OFFERED_ENDPOINT);
+                                       
+                                               //currently we can only 
serialize the Address part of the Endpoint.
+                                               //TODO correct this to 
serialize the whole EPR.
+                                               
offeredEndpointBean.setValue(endpoint.getEPR().getAddress());  
+                                               
offeredEndpointBean.setSequencePropertyKey(outgoingSideSequencePropertyKey);
+                                               
seqPropMgr.insert(offeredEndpointBean);
+                                       }
                                } else {
                                        // removing the accept part.
                                        createSeqResPart.setAccept(null);
@@ -195,7 +213,7 @@
                                }
                        }
 
-                       EndpointReference acksTo = 
createSeqPart.getAcksTo().getAddress().getEpr();
+                       EndpointReference acksTo = 
createSeqPart.getAcksTo().getEPR();
                        if (acksTo == null || acksTo.getAddress() == null || 
"".equals(acksTo.getAddress())) {
                                String message = 
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.noAcksToPartInCreateSequence);
                                log.debug(message);

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=467298&r1=467297&r2=467298
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
 Tue Oct 24 03:00:05 2006
@@ -169,7 +169,7 @@
 
                        String offeredSequenceId = (String) 
offeredSequenceBean.getValue();
 
-                       EndpointReference acksToEPR = 
accept.getAcksTo().getAddress().getEpr();
+                       EndpointReference acksToEPR = 
accept.getAcksTo().getEPR();
                        SequencePropertyBean acksToBean = new 
SequencePropertyBean();
                        
acksToBean.setName(Sandesha2Constants.SequenceProperties.ACKS_TO_EPR);
                        acksToBean.setSequencePropertyKey(offeredSequenceId);

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
 Tue Oct 24 03:00:05 2006
@@ -54,7 +54,7 @@
                findSenderBean.setSend(true);
                
                if (address!=null)
-                       
findSenderBean.setWsrmAnonURI(address.getEpr().getAddress());
+                       findSenderBean.setWsrmAnonURI(address.getAddress());
                
                if (identifier!=null)
                        
findSenderBean.setSequenceID(identifier.getIdentifier());

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=467298&r1=467297&r2=467298
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MsgInitializer.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MsgInitializer.java
 Tue Oct 24 03:00:05 2006
@@ -19,6 +19,7 @@
 
 import java.util.Iterator;
 
+import org.apache.axis2.AxisFault;
 import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
@@ -63,7 +64,7 @@
         * @return
         * @throws SandeshaException
         */
-       public static RMMsgContext initializeMessage(MessageContext ctx) throws 
SandeshaException {
+       public static RMMsgContext initializeMessage(MessageContext ctx) throws 
AxisFault {
                RMMsgContext rmMsgCtx = new RMMsgContext(ctx);
 
                populateRMMsgContext(ctx, rmMsgCtx);
@@ -77,7 +78,7 @@
         * @param msgCtx
         * @param rmMsgContext
         */
-       private static void populateRMMsgContext(MessageContext msgCtx, 
RMMsgContext rmMsgContext) throws SandeshaException {
+       private static void populateRMMsgContext(MessageContext msgCtx, 
RMMsgContext rmMsgContext) throws AxisFault {
 
                // if client side and the addressing version is not set. 
assuming the
                // default addressing version

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=467298&r1=467297&r2=467298
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java 
(original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java 
Tue Oct 24 03:00:05 2006
@@ -62,6 +62,7 @@
 import org.apache.sandesha2.wsrm.CloseSequenceResponse;
 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.Identifier;
 import org.apache.sandesha2.wsrm.MakeConnection;
@@ -200,12 +201,12 @@
         * 
         * @param applicationRMMsg
         * @param internalSequenceId
-        * @param acksTo
+        * @param acksToEPR
         * @return
         * @throws SandeshaException
         */
        public static RMMsgContext createCreateSeqMsg(RMMsgContext 
applicationRMMsg, String sequencePropertyKey,
-                       EndpointReference acksTo, StorageManager 
storageManager) throws AxisFault {
+                       EndpointReference acksToEPR, StorageManager 
storageManager) throws AxisFault {
 
                MessageContext applicationMsgContext = 
applicationRMMsg.getMessageContext();
                if (applicationMsgContext == null)
@@ -214,9 +215,6 @@
                if (context == null)
                        throw new 
SandeshaException(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.configContextNotSet));
 
-               SOAPFactory factory = 
SOAPAbstractFactory.getSOAPFactory(SandeshaUtil.getSOAPVersion(applicationMsgContext
-                               .getEnvelope()));
-
                SequencePropertyBeanMgr seqPropMgr = 
storageManager.getSequencePropertyBeanMgr();
                MessageContext createSeqmsgContext;
                try {
@@ -292,12 +290,30 @@
                if (operationcontext != null) {
                        String offeredSequence = (String) applicationMsgContext
                                        
.getProperty(SandeshaClientConstants.OFFERED_SEQUENCE_ID);
+                       EndpointReference offeredEndpoint = (EndpointReference) 
applicationMsgContext
+                                       
.getProperty(SandeshaClientConstants.OFFERED_ENDPOINT);
+                       
+                       if (offeredEndpoint==null)
+                               offeredEndpoint = 
applicationMsgContext.getReplyTo();  //using replyTo as the Endpoint if it is 
not specified
+                       
                        if (offeredSequence != null && 
!"".equals(offeredSequence)) {
                                SequenceOffer offerPart = new 
SequenceOffer(rmNamespaceValue);
                                Identifier identifier = new 
Identifier(rmNamespaceValue);
                                identifier.setIndentifer(offeredSequence);
                                offerPart.setIdentifier(identifier);
                                createSequencePart.setSequenceOffer(offerPart);
+                               
+                               if 
(Sandesha2Constants.SPEC_2006_08.NS_URI.equals(rmNamespaceValue)) {
+                                       if (offeredEndpoint!=null) {
+                                               Endpoint endpoint = new 
Endpoint (rmNamespaceValue,addressingNamespaceValue);
+                                               endpoint.setEPR 
(offeredEndpoint);
+                                               offerPart.setEndpoint(endpoint);
+                                       } else {
+                                               String message = 
SandeshaMessageHelper.getMessage(
+                                                               
SandeshaMessageKeys.invalidOfferNoResponseEndpoint);
+                                               throw new SandeshaException 
(message);
+                                       }
+                               }
                        }
                }
 
@@ -315,8 +331,8 @@
 
                String anonymousURI = 
SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceValue);
 
-               if (acksTo==null || acksTo.getAddress() == null || 
"".equals(acksTo.getAddress()))
-                       acksTo = new EndpointReference(anonymousURI);
+               if (acksToEPR==null || acksToEPR.getAddress() == null || 
"".equals(acksToEPR.getAddress()))
+                       acksToEPR = new EndpointReference(anonymousURI);
 
                if (replyToBean != null && replyToBean.getValue() != null)
                        replyToEPR = new 
EndpointReference(replyToBean.getValue());
@@ -328,8 +344,9 @@
                if (replyToEPR != null)
                        createSeqRMMsg.setReplyTo(replyToEPR);
 
-               createSequencePart.setAcksTo(new AcksTo(new Address(acksTo, 
addressingNamespaceValue), factory,
-                               rmNamespaceValue, addressingNamespaceValue));
+
+               AcksTo acksTo = new 
AcksTo(acksToEPR,rmNamespaceValue,addressingNamespaceValue);
+               createSequencePart.setAcksTo(acksTo);
                
                // Find the token that should be used to secure this new 
sequence. If there is a token, then we
                // save it in the properties so that the caller can store the 
token within the create sequence
@@ -374,7 +391,7 @@
         * @throws SandeshaException
         */
        public static RMMsgContext createTerminateSequenceMessage(RMMsgContext 
referenceRMMessage, String sequenceId,
-                       String sequencePropertyKey, StorageManager 
storageManager) throws SandeshaException {
+                       String sequencePropertyKey, StorageManager 
storageManager) throws AxisFault {
                MessageContext referenceMessage = 
referenceRMMessage.getMessageContext();
                if (referenceMessage == null)
                        throw new 
SandeshaException(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.msgContextNotSet));
@@ -520,10 +537,9 @@
 
                                Accept accept = new Accept(rmNamespaceValue, 
addressingNamespaceValue);
                                EndpointReference acksToEPR = 
createSeqMessage.getTo();
-                               AcksTo acksTo = new AcksTo(rmNamespaceValue, 
addressingNamespaceValue);
-                               Address address = new 
Address(addressingNamespaceValue);
-                               address.setEpr(acksToEPR);
-                               acksTo.setAddress(address);
+                               
+                               //putting the To EPR as the AcksTo for the 
response sequence.
+                               AcksTo acksTo = new 
AcksTo(acksToEPR,rmNamespaceValue, addressingNamespaceValue);
                                accept.setAcksTo(acksTo);
                                response.setAccept(accept);
                        }
@@ -561,10 +577,9 @@
        }
 
        public static RMMsgContext createTerminateSeqResponseMsg(RMMsgContext 
terminateSeqRMMsg, MessageContext outMessage,
-                       StorageManager storageManager) throws SandeshaException 
{
+                       StorageManager storageManager) throws AxisFault {
         
                RMMsgContext terminateSeqResponseRMMsg = new 
RMMsgContext(outMessage);
-               ConfigurationContext configurationContext = 
terminateSeqRMMsg.getMessageContext().getConfigurationContext();
 
                SOAPFactory factory = 
SOAPAbstractFactory.getSOAPFactory(SandeshaUtil.getSOAPVersion(terminateSeqRMMsg
                                .getSOAPEnvelope()));
@@ -602,7 +617,7 @@
        }
 
        public static RMMsgContext createCloseSeqResponseMsg(RMMsgContext 
closeSeqRMMsg, MessageContext outMessage,
-                       StorageManager storageManager) throws SandeshaException 
{
+                       StorageManager storageManager) throws AxisFault {
 
                RMMsgContext closeSeqResponseRMMsg = new 
RMMsgContext(outMessage);
                ConfigurationContext configurationContext = 
closeSeqRMMsg.getMessageContext().getConfigurationContext();
@@ -649,7 +664,7 @@
         * @throws SandeshaException
         */
        public static void addAckMessage(RMMsgContext applicationMsg, String 
sequencePropertyKey ,String sequenceId, StorageManager storageManager)
-                       throws SandeshaException {
+                       throws AxisFault {
                
                SOAPFactory factory = null;
                SOAPEnvelope envelope = applicationMsg.getSOAPEnvelope();
@@ -733,7 +748,7 @@
                
                if (makeConnectionAnonURI!=null) {
                        Address address = new Address (rmNamespaceValue);
-                       address.setEpr(new EndpointReference 
(makeConnectionAnonURI));
+                       address.setAddress (makeConnectionAnonURI);
                        makeConnection.setAddress(address);
                }
                

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=467298&r1=467297&r2=467298
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java
 Tue Oct 24 03:00:05 2006
@@ -71,7 +71,7 @@
                        throw new AxisFault(message);
                }
 
-               EndpointReference acksTo = 
createSequence.getAcksTo().getAddress().getEpr();
+               EndpointReference acksTo = createSequence.getAcksTo().getEPR();
 
                if (acksTo == null) {
                        String message = 
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.noAcksToPartInCreateSequence);

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
 Tue Oct 24 03:00:05 2006
@@ -363,8 +363,6 @@
        public static void addTerminateSequenceMessage(RMMsgContext 
referenceMessage, String outSequenceId,
                        String sequencePropertyKey, StorageManager 
storageManager) throws AxisFault {
 
-               ConfigurationContext configurationContext = 
referenceMessage.getMessageContext().getConfigurationContext();
-
                // / Transaction addTerminateSeqTransaction =
                // storageManager.getTransaction();
 
@@ -384,17 +382,36 @@
                terminateRMMessage.setFlow(MessageContext.OUT_FLOW);
                
terminateRMMessage.setProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE, 
"true");
 
-               SequencePropertyBean toBean = 
seqPropMgr.retrieve(sequencePropertyKey,
+               
+               //setting the To EPR.
+               //First try to get it from an Endpoint property.
+               //If not get it from the To property.
+               
+               EndpointReference toEPR = null;
+               
+               SequencePropertyBean endpointBean = 
seqPropMgr.retrieve(sequencePropertyKey,
+                               
Sandesha2Constants.SequenceProperties.OFFERED_ENDPOINT);
+               if (endpointBean!=null) {
+                       toEPR = new EndpointReference (endpointBean.getValue());
+               }
+               
+               if (toEPR==null) {
+                       
+                       SequencePropertyBean toBean = 
seqPropMgr.retrieve(sequencePropertyKey,
                                Sandesha2Constants.SequenceProperties.TO_EPR);
 
-               EndpointReference toEPR = new 
EndpointReference(toBean.getValue());
-               if (toEPR == null) {
-                       String message = 
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.toEPRNotValid, null);
-                       throw new SandeshaException(message);
+                       if (toBean!=null) {
+                               toEPR = new 
EndpointReference(toBean.getValue());
+                               if (toEPR == null) {
+                                       String message = 
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.toEPRNotValid, null);
+                                       throw new SandeshaException(message);
+                               }
+                       }
                }
-               
-               terminateRMMessage.setTo(new 
EndpointReference(toEPR.getAddress()));
 
+               if (toEPR!=null)
+                       terminateRMMessage.setTo(toEPR);
+               
                SequencePropertyBean replyToBean = 
seqPropMgr.retrieve(sequencePropertyKey,
                                
Sandesha2Constants.SequenceProperties.REPLY_TO_EPR);
                if (replyToBean!=null) {

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=467298&r1=467297&r2=467298
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Accept.java 
(original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Accept.java 
Tue Oct 24 03:00:05 2006
@@ -23,6 +23,7 @@
 import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
+import org.apache.axis2.AxisFault;
 import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.sandesha2.SandeshaException;
 import org.apache.sandesha2.i18n.SandeshaMessageHelper;
@@ -56,7 +57,7 @@
                return rmNamespaceValue;
        }
 
-       public Object fromOMElement(OMElement element) throws 
OMException,SandeshaException {
+       public Object fromOMElement(OMElement element) throws 
OMException,AxisFault {
 
                OMFactory factory = element.getOMFactory();
                
@@ -73,7 +74,7 @@
                return this;
        }
 
-       public OMElement toOMElement(OMElement element) throws OMException {
+       public OMElement toOMElement(OMElement element) throws 
OMException,AxisFault {
 
                OMFactory factory = element.getOMFactory();
                

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=467298&r1=467297&r2=467298
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/AcksTo.java 
(original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/AcksTo.java 
Tue Oct 24 03:00:05 2006
@@ -22,8 +22,9 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.soap.SOAPFactory;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.addressing.EndpointReferenceHelper;
 import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.sandesha2.SandeshaException;
 import org.apache.sandesha2.i18n.SandeshaMessageHelper;
@@ -36,13 +37,13 @@
 
 public class AcksTo implements IOMRMElement {
 
-       private Address address;
+       private EndpointReference epr;
        
        private String rmNamespaceValue = null;
        
        private String addressingNamespaceValue = null;
 
-       public AcksTo(String rmNamespaceValue,String addressingNamespaceValue) 
throws SandeshaException {
+       public AcksTo (String rmNamespaceValue,String addressingNamespaceValue) 
throws AxisFault {
                if (!isNamespaceSupported(rmNamespaceValue))
                        throw new SandeshaException 
(SandeshaMessageHelper.getMessage(
                                        SandeshaMessageKeys.unknownSpec,
@@ -52,16 +53,16 @@
                this.addressingNamespaceValue = addressingNamespaceValue;
        }
        
-       public AcksTo (Address address,SOAPFactory factory,String 
rmNamespaceValue, String addressingNamespaceValue) throws SandeshaException {
+       public AcksTo (EndpointReference epr ,String rmNamespaceValue, String 
addressingNamespaceValue) throws AxisFault {
                this (rmNamespaceValue,addressingNamespaceValue);
-               this.address = address;
+               this.epr = epr;
        }
 
        public String getNamespaceValue(){
                return rmNamespaceValue;
        }
 
-       public Object fromOMElement(OMElement element) throws 
OMException,SandeshaException {
+       public Object fromOMElement(OMElement element) throws 
OMException,AxisFault {
                OMElement acksToPart = element.getFirstChildWithName(new QName(
                                rmNamespaceValue, 
Sandesha2Constants.WSRM_COMMON.ACKS_TO));
 
@@ -70,36 +71,33 @@
                                        SandeshaMessageKeys.noAcksToPart,
                                        element.toString()));
 
-               address = new Address(addressingNamespaceValue);
-               address.fromOMElement(acksToPart);
+               epr = EndpointReferenceHelper.fromOM (acksToPart);
 
                return this;
        }
 
-       public OMElement toOMElement(OMElement element) throws OMException {
+       public OMElement toOMElement(OMElement element) throws 
OMException,AxisFault {
 
-               if (address == null)
+               if (epr == null)
                        throw new OMException(SandeshaMessageHelper.getMessage(
-                                       SandeshaMessageKeys.cannotSetACksTo,
+                                       SandeshaMessageKeys.cannotSetAcksTo,
                                        null));
 
                OMFactory factory = element.getOMFactory();
                
-               OMNamespace rmNamespace = 
factory.createOMNamespace(rmNamespaceValue,Sandesha2Constants.WSRM_COMMON.NS_PREFIX_RM);
-               OMElement acksToElement = 
factory.createOMElement(Sandesha2Constants.WSRM_COMMON.ACKS_TO, rmNamespace);
+               QName acksTo = new QName 
(rmNamespaceValue,Sandesha2Constants.WSRM_COMMON.ACKS_TO, 
Sandesha2Constants.WSRM_COMMON.NS_PREFIX_RM);
+           OMElement endpointElement = EndpointReferenceHelper.toOM 
(factory,epr, acksTo ,addressingNamespaceValue);
                
-               address.toOMElement(acksToElement);
-               
-               element.addChild(acksToElement);
+               element.addChild(endpointElement);
                return element;
        }
 
-       public Address getAddress() {
-               return address;
+       public EndpointReference getEPR() {
+               return epr;
        }
 
-       public void setAddress(Address address) {
-               this.address = address;
+       public void setAddress(EndpointReference epr) {
+               this.epr = epr;
        }
        
        public boolean isNamespaceSupported (String namespaceName) {

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=467298&r1=467297&r2=467298
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Address.java 
(original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Address.java 
Tue Oct 24 03:00:05 2006
@@ -13,7 +13,6 @@
 import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axis2.addressing.EndpointReference;
 import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.sandesha2.i18n.SandeshaMessageHelper;
 import org.apache.sandesha2.i18n.SandeshaMessageKeys;
@@ -24,65 +23,61 @@
 
 public class Address implements IOMRMElement {
 
-       private EndpointReference epr = null;
+       private String address = null;
        
-       private String namespaceValue = null;
+       private String rmNamespaceValue = null;
        
-       public Address(String namespaceValue) {
-               this.namespaceValue = namespaceValue;
-       }
-       
-       public Address (EndpointReference epr,String namespaceValue) {
-               this(namespaceValue);
-               this.epr = epr;
+       public Address(String rmNamespaceValue) {
+               this.rmNamespaceValue = rmNamespaceValue;
        }
 
        public Object fromOMElement(OMElement element) throws OMException {
 
                OMElement addressPart = element.getFirstChildWithName(new QName(
-                               namespaceValue, 
Sandesha2Constants.WSA.ADDRESS));
+                               rmNamespaceValue, 
Sandesha2Constants.WSRM_COMMON.ADDRESS));
                if (addressPart == null)
                        throw new OMException(SandeshaMessageHelper.getMessage(
                                        
SandeshaMessageKeys.cannotFindAddressElement,
                                        element.toString()));
+               
                String addressText = addressPart.getText();
-               if (addressText == null || addressText == "")
+               if (addressText == null || "".equals(addressText))
                        throw new OMException(
                                        SandeshaMessageHelper.getMessage(
                                                        
SandeshaMessageKeys.cannotFindAddressText,
                                                        element.toString()));
 
-               epr = new EndpointReference(addressText);
+               this.address = addressText;
                return this;
        }
 
        public String getNamespaceValue(){
-               return namespaceValue;
+               return rmNamespaceValue;
        }
 
        public OMElement toOMElement(OMElement element) throws OMException {
 
-               if (epr == null || epr.getAddress() == null || epr.getAddress() 
== "")
+               if (address == null ||  "".equals(address))
                        throw new OMException(SandeshaMessageHelper.getMessage(
                                        SandeshaMessageKeys.addressNotValid));
 
                OMFactory factory = element.getOMFactory();
                
-               OMNamespace addressingNamespace = 
factory.createOMNamespace(namespaceValue,Sandesha2Constants.WSA.NS_PREFIX_ADDRESSING);
-               OMElement addressElement = 
factory.createOMElement(Sandesha2Constants.WSA.ADDRESS, addressingNamespace);
+               OMNamespace rmNamespace = 
factory.createOMNamespace(rmNamespaceValue,Sandesha2Constants.WSRM_COMMON.NS_PREFIX_RM);
+               OMElement addressElement = 
factory.createOMElement(Sandesha2Constants.WSRM_COMMON.ADDRESS, rmNamespace);
                
-               addressElement.setText(epr.getAddress());
+               addressElement.setText(address);
                element.addChild(addressElement);
 
                return element;
        }
 
-       public EndpointReference getEpr() {
-               return epr;
+       public String getAddress() {
+               return address;
        }
 
-       public void setEpr(EndpointReference epr) {
-               this.epr = epr;
+       public void setAddress(String address) {
+               this.address = address;
        }
        
        public boolean isNamespaceSupported (String namespaceName) {

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=467298&r1=467297&r2=467298
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequence.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequence.java
 Tue Oct 24 03:00:05 2006
@@ -26,6 +26,7 @@
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPFactory;
+import org.apache.axis2.AxisFault;
 import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.sandesha2.SandeshaException;
 import org.apache.sandesha2.i18n.SandeshaMessageHelper;
@@ -72,7 +73,7 @@
                return rmNamespaceValue;
        }
 
-       public Object fromOMElement(OMElement bodyElement) throws 
OMException,SandeshaException {
+       public Object fromOMElement(OMElement bodyElement) throws 
OMException,AxisFault {
 
                OMElement createSequencePart = bodyElement
                                .getFirstChildWithName(new 
QName(rmNamespaceValue,
@@ -89,6 +90,7 @@
                                                                                
                                                           
Sandesha2Constants.WSRM_COMMON.SEQUENCE_OFFER));
                if (offerPart != null) {
                        sequenceOffer = new SequenceOffer(rmNamespaceValue);
+                       
sequenceOffer.setAddressingNamespace(addressingNamespaceValue);
                        sequenceOffer.fromOMElement(createSequencePart);
                }
 
@@ -107,7 +109,7 @@
                return this;
        }
 
-       public OMElement toOMElement(OMElement bodyElement) throws OMException {
+       public OMElement toOMElement(OMElement bodyElement) throws OMException, 
AxisFault {
 
                if (bodyElement == null || !(bodyElement instanceof SOAPBody))
                        throw new OMException(SandeshaMessageHelper.getMessage(
@@ -159,7 +161,7 @@
                return sequenceOffer;
        }
 
-       public void toSOAPEnvelope(SOAPEnvelope envelope) {
+       public void toSOAPEnvelope(SOAPEnvelope envelope) throws AxisFault {
                SOAPBody body = envelope.getBody();
                
                //detach if already exist.

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=467298&r1=467297&r2=467298
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequenceResponse.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequenceResponse.java
 Tue Oct 24 03:00:05 2006
@@ -25,6 +25,7 @@
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axis2.AxisFault;
 import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.sandesha2.SandeshaException;
 import org.apache.sandesha2.i18n.SandeshaMessageHelper;
@@ -60,7 +61,7 @@
                return rmNamespaceValue;
        }
 
-       public Object fromOMElement(OMElement bodyElement) throws 
OMException,SandeshaException {
+       public Object fromOMElement(OMElement bodyElement) throws 
OMException,AxisFault {
 
                if (bodyElement == null || !(bodyElement instanceof SOAPBody))
                        throw new OMException(SandeshaMessageHelper.getMessage(
@@ -97,7 +98,7 @@
                return this;
        }
 
-       public OMElement toOMElement(OMElement bodyElement) throws OMException {
+       public OMElement toOMElement(OMElement bodyElement) throws OMException, 
AxisFault {
 
                if (bodyElement == null || !(bodyElement instanceof SOAPBody))
                        throw new OMException(
@@ -161,7 +162,7 @@
                this.expires = expires;
        }
 
-       public void toSOAPEnvelope(SOAPEnvelope envelope) {
+       public void toSOAPEnvelope(SOAPEnvelope envelope) throws AxisFault {
                SOAPBody body = envelope.getBody();
                
                //detach if already exist.

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/IOMRMElement.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/IOMRMElement.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/IOMRMElement.java 
(original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/IOMRMElement.java 
Tue Oct 24 03:00:05 2006
@@ -23,10 +23,11 @@
 
 import org.apache.sandesha2.SandeshaException;
 import org.apache.axiom.om.OMElement;
+import org.apache.axis2.AxisFault;
 
 public interface IOMRMElement {
        public String getNamespaceValue();
-       public Object fromOMElement(OMElement element) throws SandeshaException 
;
-       public OMElement toOMElement(OMElement element) throws 
SandeshaException ;
+       public Object fromOMElement(OMElement element) throws AxisFault ;
+       public OMElement toOMElement(OMElement element) throws AxisFault ;
        public boolean isNamespaceSupported (String namespaceName);
 }

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/IOMRMPart.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/IOMRMPart.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/IOMRMPart.java 
(original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/IOMRMPart.java 
Tue Oct 24 03:00:05 2006
@@ -19,6 +19,7 @@
 
 import org.apache.sandesha2.SandeshaException;
 import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axis2.AxisFault;
 
 /**
  * This is the base interface for RM infoset objects that are added directly 
so 
@@ -26,5 +27,5 @@
  */
 
 public interface IOMRMPart extends IOMRMElement {
-       public void toSOAPEnvelope (SOAPEnvelope envelope) throws 
SandeshaException;
+       public void toSOAPEnvelope (SOAPEnvelope envelope) throws AxisFault;
 }

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/MakeConnection.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/MakeConnection.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/MakeConnection.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/MakeConnection.java
 Tue Oct 24 03:00:05 2006
@@ -24,6 +24,7 @@
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axis2.AxisFault;
 import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.sandesha2.SandeshaException;
 import org.apache.sandesha2.i18n.SandeshaMessageHelper;
@@ -59,7 +60,7 @@
                toOMElement(body);
        }
 
-       public Object fromOMElement(OMElement makeConnectionElement) throws 
OMException, SandeshaException {
+       public Object fromOMElement(OMElement makeConnectionElement) throws 
OMException, AxisFault {
 
                OMElement identifierElement = 
makeConnectionElement.getFirstChildWithName(new QName(namespaceValue, 
Sandesha2Constants.WSRM_COMMON.IDENTIFIER));
                OMElement addressElement = 
makeConnectionElement.getFirstChildWithName(new 
QName(namespaceValue,Sandesha2Constants.WSA.ADDRESS));

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=467298&r1=467297&r2=467298
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java 
(original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java 
Tue Oct 24 03:00:05 2006
@@ -28,6 +28,7 @@
 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;
@@ -71,7 +72,7 @@
                this.addressingNamespaceValue = addressingNamespace;
        }
        
-       public void fromSOAPEnvelope(SOAPEnvelope envelope, String action) 
throws SandeshaException {
+       public void fromSOAPEnvelope(SOAPEnvelope envelope, String action) 
throws AxisFault {
 
                if (envelope == null)
                        throw new OMException(SandeshaMessageHelper.getMessage(
@@ -212,7 +213,7 @@
                }
        }
 
-       public SOAPEnvelope toSOAPEnvelope(SOAPEnvelope envelope) throws 
SandeshaException  {
+       public SOAPEnvelope toSOAPEnvelope(SOAPEnvelope envelope) throws 
AxisFault  {
                if (sequence != null) {
                        sequence.toOMElement(envelope.getHeader());
                }

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=467298&r1=467297&r2=467298
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/SequenceOffer.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/SequenceOffer.java
 Tue Oct 24 03:00:05 2006
@@ -23,6 +23,8 @@
 import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.addressing.EndpointReference;
 import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.sandesha2.SandeshaException;
 import org.apache.sandesha2.i18n.SandeshaMessageHelper;
@@ -39,7 +41,11 @@
        
        private Expires expires = null;
        
+       private Endpoint endpoint = null;
+       
        private String namespaceValue = null;
+       
+       private String addressingNamespace = null;
 
        public SequenceOffer(String namespaceValue) throws SandeshaException {
                if (!isNamespaceSupported(namespaceValue))
@@ -55,7 +61,7 @@
        }
 
        public Object fromOMElement(OMElement createSequenceElement)
-                       throws OMException,SandeshaException {
+                       throws OMException,AxisFault {
                
                OMElement sequenceOfferPart = createSequenceElement
                                .getFirstChildWithName(new 
QName(namespaceValue,Sandesha2Constants.WSRM_COMMON.SEQUENCE_OFFER));
@@ -73,12 +79,24 @@
                        expires = new Expires(namespaceValue);
                        expires.fromOMElement(sequenceOfferPart);
                }
+               
+               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.fromOMElement (endpointPart);
+               }
 
                return this;
        }
 
        public OMElement toOMElement(OMElement createSequenceElement)
-                       throws OMException {
+                       throws OMException,AxisFault {
 
                if (identifier == null)
                        throw new OMException(SandeshaMessageHelper.getMessage(
@@ -91,6 +109,17 @@
                
                identifier.toOMElement(sequenceOfferElement);
 
+               if (endpoint!=null) {
+                       endpoint.toOMElement(sequenceOfferElement);
+               } else {
+                       if 
(Sandesha2Constants.SPEC_2006_08.NS_URI.equals(namespaceValue)) {
+                               String message = 
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.elementMustForSpec,
+                                               
Sandesha2Constants.WSRM_COMMON.ENDPOINT,
+                                               
Sandesha2Constants.SPEC_2006_08.NS_URI);
+                               throw new SandeshaException (message);
+                       }
+               }
+               
                if (expires != null) {
                        expires.toOMElement(sequenceOfferElement);
                }
@@ -108,6 +137,14 @@
                this.identifier = identifier;
        }
        
+       public Endpoint getEndpoint() {
+               return endpoint;
+       }
+
+       public void setEndpoint(Endpoint endpoint) {
+               this.endpoint = endpoint;
+       }
+
        public boolean isNamespaceSupported (String namespaceName) {
                if 
(Sandesha2Constants.SPEC_2005_02.NS_URI.equals(namespaceName))
                        return true;
@@ -118,4 +155,12 @@
                return false;
        }
 
+       public String getAddressingNamespace() {
+               return addressingNamespace;
+       }
+
+       public void setAddressingNamespace(String addressingNamespace) {
+               this.addressingNamespace = addressingNamespace;
+       }
+       
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to