Author: chamikara
Date: Sat Oct  7 01:06:23 2006
New Revision: 453855

URL: http://svn.apache.org/viewvc?view=rev&rev=453855
Log:
Corrected the fault handling logic. Now instead of creating a 
FaultMessageContext we do it the correct way. I.e. we set nevessary
properties (e.g. FaultCode) in the MessageContext and throw an dummy 
SandeshaException. AxisEngine catches this and sends
the fault.
Added the code to actually terminate a sequence of a WSRM 1.1 sequence to the 
TerminateSequenceResponseMsgProcessor.

Modified:
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaException.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/AcknowledgementProcessor.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqResponseMsgProcessor.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java?view=diff&rev=453855&r1=453854&r2=453855
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
 Sat Oct  7 01:06:23 2006
@@ -162,6 +162,7 @@
                String PENDING = "pending";

                

                String USES_SEQUENCE_STR = "UsesSequenceSTR";

+               

        }

 

        public interface WSA {


Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaException.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaException.java?view=diff&rev=453855&r1=453854&r2=453855
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaException.java 
(original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaException.java 
Sat Oct  7 01:06:23 2006
@@ -17,6 +17,9 @@
 

 package org.apache.sandesha2;

 

+import javax.xml.namespace.QName;

+

+import org.apache.axiom.om.OMElement;

 import org.apache.axis2.AxisFault;

 

 /**

@@ -32,9 +35,11 @@
        public SandeshaException (Exception e) {

                super (e);

        }

-       

+

        public SandeshaException (String message,Exception e) {

                super (message,e);

        }

+       

+       

        

 }


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=453855&r1=453854&r2=453855
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
 Sat Oct  7 01:06:23 2006
@@ -132,12 +132,10 @@
                                if (msgProcessor != null)

                                        msgProcessor.processInMessage(rmMsgCtx);

                        } catch (SandeshaException se) {

-                               String message = 
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.msgError, se.toString());

-                               log.debug(message, se);

-                               throw new AxisFault(message, se);

+                               throw se;

                        }

 

-               } catch (Exception e) {

+               } catch (AxisFault e) {

                        // message should not be sent in a exception situation.

                        msgCtx.pause();

 

@@ -152,8 +150,7 @@
                                }

                        }

 

-                       String message = 
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.inMsgError, e.toString());

-                       throw new AxisFault(message, e);

+                       throw e;

                } finally {

                        if (!withinTransaction && !rolebacked) {

                                try {


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=453855&r1=453854&r2=453855
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
 Sat Oct  7 01:06:23 2006
@@ -25,6 +25,7 @@
        public static final String classLoaderNotFound="classLoaderNotFound";

 

        public static final String 
defaultPropertyBeanNotSet="defaultPropertyBeanNotSet";

+       public static final String propertyBeanNotSet="propertyBeanNotSet";

        public static final String optionsObjectNotSet="optionsObjectNotSet";

        public static final String serviceContextNotSet="serviceContextNotSet";

        public static final String sequenceIdBeanNotSet="sequenceIdBeanNotSet";


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=453855&r1=453854&r2=453855
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
 Sat Oct  7 01:06:23 2006
@@ -42,6 +42,7 @@
 classLoaderNotFound=Module class loader not found.

 

 defaultPropertyBeanNotSet=Sandesha2 Internal Error: ''DefaultPropertyBean'' is 
not set.

+propertyBeanNotSet=Sandesha2 Internal Error: ''PropertyBean'' is not set.

 optionsObjectNotSet=Sandesha2 Internal Error: ''Options'' object is not set.

 serviceContextNotSet=Sandesha2 Internal Error: ''ServiceContext'' is not set

 sequenceIdBeanNotSet=Sandesha2 Internal Error: ''SequenceIdBean'' is not set


Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java?view=diff&rev=453855&r1=453854&r2=453855
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
 Sat Oct  7 01:06:23 2006
@@ -138,27 +138,13 @@
                Iterator nackIterator = sequenceAck.getNackList().iterator();
 
                FaultManager faultManager = new FaultManager();
-               RMMsgContext faultMessageContext = faultManager
+               SandeshaException fault = faultManager
                                .checkForUnknownSequence(rmMsgCtx, 
outSequenceId, storageManager);
-               if(faultMessageContext == null) {
-                       faultMessageContext = 
faultManager.checkForInvalidAcknowledgement(rmMsgCtx, storageManager);
+               if(fault == null) {
+                       fault = 
faultManager.checkForInvalidAcknowledgement(rmMsgCtx, storageManager);
                }
-               if (faultMessageContext != null) {
-
-                       ConfigurationContext configurationContext = 
msgCtx.getConfigurationContext();
-                       AxisEngine engine = new 
AxisEngine(configurationContext);
-
-                       try {
-                               
engine.sendFault(faultMessageContext.getMessageContext());
-                       } catch (AxisFault e) {
-                               throw new SandeshaException(
-                                               
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.couldNotSendFault, 
e.toString()),
-                                               e);
-                       }
-
-                       // TODO: Should a bad ack stop processing of the 
message?
-                       msgCtx.pause();
-                       return;
+               if (fault != null) {
+                       throw fault;
                }
 
                // updating the last activated time of the sequence.

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java?view=diff&rev=453855&r1=453854&r2=453855
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
 Sat Oct  7 01:06:23 2006
@@ -134,20 +134,9 @@
                }
 
                FaultManager faultManager = new FaultManager();
-               RMMsgContext faultMessageContext = 
faultManager.checkForLastMsgNumberExceeded(rmMsgCtx, storageManager);
-               if (faultMessageContext != null) {
-                       ConfigurationContext configurationContext = 
msgCtx.getConfigurationContext();
-                       AxisEngine engine = new 
AxisEngine(configurationContext);
-
-                       try {
-                               
engine.sendFault(faultMessageContext.getMessageContext());
-                       } catch (AxisFault e) {
-                               throw new 
SandeshaException(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.couldNotSendFault,
 
-                                               e.toString()));
-                       }
-
-                       msgCtx.pause();
-                       return;
+               SandeshaException fault = 
faultManager.checkForLastMsgNumberExceeded(rmMsgCtx, storageManager);
+               if (fault != null) {
+                       throw fault;
                }
 
                // setting acked msg no range
@@ -158,20 +147,9 @@
                        throw new SandeshaException(message);
                }
 
-               faultMessageContext = 
faultManager.checkForUnknownSequence(rmMsgCtx, sequenceId, storageManager);
-               if (faultMessageContext != null) {
-                       ConfigurationContext configurationContext = 
msgCtx.getConfigurationContext();
-                       AxisEngine engine = new 
AxisEngine(configurationContext);
-
-                       try {
-                               
engine.send(faultMessageContext.getMessageContext());
-                       } catch (AxisFault e) {
-                               throw new 
SandeshaException(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.couldNotSendFault,
 e
-                                               .toString()));
-                       }
-
-                       msgCtx.pause();
-                       return;
+               fault = faultManager.checkForUnknownSequence(rmMsgCtx, 
sequenceId, storageManager);
+               if (fault != null) {
+                       throw fault;
                }
 
                // setting mustUnderstand to false.
@@ -179,19 +157,9 @@
                rmMsgCtx.addSOAPEnvelope();
 
                // throwing a fault if the sequence is closed.
-               faultMessageContext = 
faultManager.checkForSequenceClosed(rmMsgCtx, sequenceId, storageManager);
-               if (faultMessageContext != null) {
-                       ConfigurationContext configurationContext = 
msgCtx.getConfigurationContext();
-                       AxisEngine engine = new 
AxisEngine(configurationContext);
-
-                       try {
-                               
engine.sendFault(faultMessageContext.getMessageContext());
-                       } catch (AxisFault e) {
-                               throw new 
SandeshaException(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.couldNotSendFault,
 e
-                                               .toString()));
-                       }
-
-                       return;
+               fault = faultManager.checkForSequenceClosed(rmMsgCtx, 
sequenceId, storageManager);
+               if (fault != null) {
+                       throw fault;
                }
 
                // updating the last activated time of the sequence.

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java?view=diff&rev=453855&r1=453854&r2=453855
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
 Sat Oct  7 01:06:23 2006
@@ -83,20 +83,9 @@
                }

 

                FaultManager faultManager = new FaultManager();

-               RMMsgContext faultMessageContext = 
faultManager.checkForUnknownSequence(rmMsgCtx, sequenceId, storageManager);

-               if (faultMessageContext != null) {

-                       ConfigurationContext configurationContext = 
msgCtx.getConfigurationContext();

-                       AxisEngine engine = new 
AxisEngine(configurationContext);

-

-                       try {

-                               
engine.sendFault(faultMessageContext.getMessageContext());

-                       } catch (AxisFault e) {

-                               throw new 
SandeshaException(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.couldNotSendFault,
 e

-                                               .toString()), e);

-                       }

-

-                       msgCtx.pause();

-                       return;

+               SandeshaException fault = 
faultManager.checkForUnknownSequence(rmMsgCtx, sequenceId, storageManager);

+               if (fault != null) {

+                       throw fault;

                }

 

                SequencePropertyBean sequenceClosedBean = new 
SequencePropertyBean();


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=453855&r1=453854&r2=453855
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
 Sat Oct  7 01:06:23 2006
@@ -65,7 +65,7 @@
 

        private static final Log log = 
LogFactory.getLog(CreateSeqMsgProcessor.class);

 

-       public void processInMessage(RMMsgContext createSeqRMMsg) throws 
SandeshaException {

+       public void processInMessage(RMMsgContext createSeqRMMsg) throws 
AxisFault {

                if (log.isDebugEnabled())

                        log.debug("Enter: 
CreateSeqMsgProcessor::processInMessage");

 

@@ -82,19 +82,9 @@
                StorageManager storageManager = 
SandeshaUtil.getSandeshaStorageManager(context, context.getAxisConfiguration());

 

                FaultManager faultManager = new FaultManager();

-               RMMsgContext faultMessageContext = 
faultManager.checkForCreateSequenceRefused(createSeqMsg, storageManager);

-               if (faultMessageContext != null) {

-                       ConfigurationContext configurationContext = 
createSeqMsg.getConfigurationContext();

-                       AxisEngine engine = new 
AxisEngine(configurationContext);

-

-                       try {

-                               
engine.sendFault(faultMessageContext.getMessageContext());

-                       } catch (AxisFault e) {

-                               throw new 
SandeshaException(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.couldNotSendFault),
 e);

-                       }

-

-                       createSeqMsg.pause();

-                       return;

+               SandeshaException fault = 
faultManager.checkForCreateSequenceRefused(createSeqMsg, storageManager);

+               if (fault != null) {

+                       throw fault;

                }

                

                // If the inbound CreateSequence includes a 
SecurityTokenReference then


Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java?view=diff&rev=453855&r1=453854&r2=453855
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
 Sat Oct  7 01:06:23 2006
@@ -112,21 +112,10 @@
                }

 

                FaultManager faultManager = new FaultManager();

-               RMMsgContext faultMessageContext = 
faultManager.checkForUnknownSequence(terminateSeqRMMsg, sequenceId,

+               SandeshaException fault = 
faultManager.checkForUnknownSequence(terminateSeqRMMsg, sequenceId,

                                storageManager);

-               if (faultMessageContext != null) {

-                       ConfigurationContext configurationContext = 
terminateSeqMsg.getConfigurationContext();

-                       AxisEngine engine = new 
AxisEngine(configurationContext);

-

-                       try {

-                               
engine.sendFault(faultMessageContext.getMessageContext());

-                       } catch (AxisFault e) {

-                               throw new 
SandeshaException(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.couldNotSendFault,
 e

-                                               .toString()), e);

-                       }

-

-                       terminateSeqMsg.pause();

-                       return;

+               if (fault != null) {

+                       throw fault;

                }

 

 

@@ -299,7 +288,7 @@
                terminateSeqResponseRMMsg.setFlow(MessageContext.OUT_FLOW);

                
terminateSeqResponseRMMsg.setProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE,
 "true");

 

-               EndpointReference toEPR = terminateSeqMsg.getTo();

+               EndpointReference toEPR = terminateSeqResponseRMMsg.getTo();

                

                outMessage.setResponseWritten(true);

 

@@ -369,6 +358,7 @@
                        throw new SandeshaException(messge);

                }

 

+               outInAxisOp.setParent(msgContext.getAxisService());

                // setting flows

                // 
outInAxisOp.setRemainingPhasesInFlow(referenceInOutOperation.getRemainingPhasesInFlow());

                outInAxisOp.setRemainingPhasesInFlow(referenceInOutOperation

@@ -381,7 +371,9 @@
                
configurationContext.registerOperationContext(rmMsgCtx.getMessageId(),

                                opcontext);

 

-

+               msgContext.setOperationContext(opcontext);

+               msgContext.setAxisOperation(outInAxisOp);

+               

                if (terminated != null && "true".equals(terminated)) {

                        String message = 
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.terminateAddedPreviously);

                        log.debug(message);


Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqResponseMsgProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqResponseMsgProcessor.java?view=diff&rev=453855&r1=453854&r2=453855
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqResponseMsgProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqResponseMsgProcessor.java
 Sat Oct  7 01:06:23 2006
@@ -33,6 +33,7 @@
 import org.apache.sandesha2.storage.beans.SequencePropertyBean;

 import org.apache.sandesha2.util.SandeshaUtil;

 import org.apache.sandesha2.util.TerminateManager;

+import org.apache.sandesha2.wsrm.TerminateSequence;

 import org.apache.sandesha2.wsrm.TerminateSequenceResponse;

 

 /**

@@ -56,6 +57,9 @@
                  
terminateResRMMsg.getMessagePart(Sandesha2Constants.MessageParts.TERMINATE_SEQ_RESPONSE);

                

                String sequenceId = tsResponse.getIdentifier().getIdentifier();

+               String internalSequenceID = 
SandeshaUtil.getSequenceProperty(sequenceId,

+                               
Sandesha2Constants.SequenceProperties.INTERNAL_SEQUENCE_ID, storageManager);

+               
msgContext.setProperty(Sandesha2Constants.MessageContextProperties.INTERNAL_SEQUENCE_ID,internalSequenceID);

                String sequencePropertyKey = 
SandeshaUtil.getSequencePropertyKey(terminateResRMMsg);

 

                // Check that the sender of this TerminateSequence holds the 
correct token

@@ -67,10 +71,11 @@
                        secManager.checkProofOfPossession(token, body, 
msgContext);

                }

 

-               //doing the termination

-//             TODO - do termination correctly.

-//             TerminateManager.terminateSendingSide(configContext, 
sequencePropertyKey, msgCtx.isServerSide(),

-//                             storageManager);

+               ConfigurationContext configContext = 
msgContext.getConfigurationContext();

+

+

+               TerminateManager.terminateSendingSide (configContext, 
sequencePropertyKey,internalSequenceID, msgContext.isServerSide(),

+                               storageManager);

                

                // Stop this message travelling further through the Axis runtime

                terminateResRMMsg.pause();


Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java?view=diff&rev=453855&r1=453854&r2=453855
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java 
(original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java 
Sat Oct  7 01:06:23 2006
@@ -27,6 +27,13 @@
 import org.apache.axiom.soap.SOAP11Constants;
 import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axiom.soap.SOAPFactory;
+import org.apache.axiom.soap.SOAPFaultCode;
+import org.apache.axiom.soap.SOAPFaultDetail;
+import org.apache.axiom.soap.SOAPFaultReason;
+import org.apache.axiom.soap.SOAPFaultSubCode;
+import org.apache.axiom.soap.SOAPFaultText;
+import org.apache.axiom.soap.SOAPFaultValue;
+import org.apache.axiom.soap.impl.dom.SOAPTextImpl;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.context.ConfigurationContext;
@@ -77,8 +84,8 @@
         * @return
         * @throws SandeshaException
         */
-       public RMMsgContext checkForCreateSequenceRefused(MessageContext 
createSequenceMessage,
-                       StorageManager storageManager) throws SandeshaException 
{
+       public SandeshaException checkForCreateSequenceRefused(MessageContext 
createSequenceMessage,
+                       StorageManager storageManager) throws AxisFault {
 
                if (log.isDebugEnabled())
                        log.debug("Enter: 
FaultManager::checkForCreateSequenceRefused");
@@ -108,6 +115,10 @@
 
                        
data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.CREATE_SEQUENCE_REFUSED);
                        data.setReason(reason);
+                       
+                       //Adding the create sequencePart as the detail.
+                       
data.setDetail(createSequenceMessage.getEnvelope().getBody().getFirstElement());
+                       
                        if (log.isDebugEnabled())
                                log.debug("Exit: 
FaultManager::checkForCreateSequenceRefused, refused sequence");
                        return getFault(createSequenceRMMsg, data, 
createSequenceRMMsg.getAddressingNamespaceValue(),
@@ -127,8 +138,8 @@
         * @param msgCtx
         * @return
         */
-       public RMMsgContext checkForLastMsgNumberExceeded(RMMsgContext 
applicationRMMessage, StorageManager storageManager)
-                       throws SandeshaException {
+       public SandeshaException checkForLastMsgNumberExceeded(RMMsgContext 
applicationRMMessage, StorageManager storageManager)
+                       throws AxisFault {
                if (log.isDebugEnabled())
                        log.debug("Enter: 
FaultManager::checkForLastMsgNumberExceeded");
                Sequence sequence = (Sequence) 
applicationRMMessage.getMessagePart(Sandesha2Constants.MessageParts.SEQUENCE);
@@ -162,6 +173,15 @@
 
                        
faultData.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.LAST_MESSAGE_NO_EXCEEDED);
                        faultData.setReason(reason);
+                       
+                       SOAPFactory factory = 
SOAPAbstractFactory.getSOAPFactory(SOAPVersion);
+                       String rmNamespace = 
applicationRMMessage.getRMNamespaceValue();
+                       OMElement identifierElement = 
factory.createOMElement(Sandesha2Constants.WSRM_COMMON.IDENTIFIER,
+                                       rmNamespace, 
Sandesha2Constants.WSRM_COMMON.NS_PREFIX_RM);
+                       identifierElement.setText(sequenceID);
+                       
+                       faultData.setDetail(identifierElement);
+                       
                        if (log.isDebugEnabled())
                                log.debug("Exit: 
FaultManager::checkForLastMsgNumberExceeded, lastMessageNumberExceeded");
                        return getFault(applicationRMMessage, faultData, 
applicationRMMessage.getAddressingNamespaceValue(),
@@ -186,8 +206,8 @@
         * @return
         * @throws SandeshaException
         */
-       public RMMsgContext checkForUnknownSequence(RMMsgContext 
rmMessageContext, String sequenceID,
-                       StorageManager storageManager) throws SandeshaException 
{
+       public SandeshaException checkForUnknownSequence(RMMsgContext 
rmMessageContext, String sequenceID,
+                       StorageManager storageManager) throws AxisFault {
                if (log.isDebugEnabled())
                        log.debug("Enter: 
FaultManager::checkForUnknownSequence, " + sequenceID);
 
@@ -242,12 +262,11 @@
                        
data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.UNKNOWN_SEQUENCE);
 
                        SOAPFactory factory = 
SOAPAbstractFactory.getSOAPFactory(SOAPVersion);
-                       // Identifier identifier = new 
Identifier(factory,rmNamespaceValue);
-                       // identifier.setIndentifer(sequenceID);
-                       // OMElement identifierOMElem = 
identifier.getOMElement();
 
                        OMElement identifierElement = 
factory.createOMElement(Sandesha2Constants.WSRM_COMMON.IDENTIFIER,
                                        rmNamespaceValue, 
Sandesha2Constants.WSRM_COMMON.NS_PREFIX_RM);
+                       identifierElement.setText(sequenceID);
+                       
                        data.setDetail(identifierElement);
 
                        
data.setReason(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.noSequenceEstablished,
 sequenceID));
@@ -271,8 +290,8 @@
         * @return
         * @throws SandeshaException
         */
-       public RMMsgContext checkForInvalidAcknowledgement(RMMsgContext 
ackRMMessageContext, StorageManager storageManager)
-                       throws SandeshaException {
+       public SandeshaException checkForInvalidAcknowledgement(RMMsgContext 
ackRMMessageContext, StorageManager storageManager)
+                       throws AxisFault {
                if (log.isDebugEnabled())
                        log.debug("Enter: 
FaultManager::checkForInvalidAcknowledgement");
 
@@ -342,8 +361,8 @@
                return null;
        }
 
-       public RMMsgContext checkForSequenceClosed(RMMsgContext 
referenceRMMessage, String sequenceID,
-                       StorageManager storageManager) throws SandeshaException 
{
+       public SandeshaException checkForSequenceClosed(RMMsgContext 
referenceRMMessage, String sequenceID,
+                       StorageManager storageManager) throws AxisFault {
                if (log.isDebugEnabled())
                        log.debug("Enter: FaultManager::checkForSequenceClosed, 
" + sequenceID);
 
@@ -371,6 +390,14 @@
 
                        
data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.SEQUENCE_CLOSED);
                        data.setReason(reason);
+                       
+                       SOAPFactory factory = 
SOAPAbstractFactory.getSOAPFactory(SOAPVersion);
+                       String rmNamespaceValue = 
referenceRMMessage.getRMNamespaceValue();
+                       OMElement identifierElement = 
factory.createOMElement(Sandesha2Constants.WSRM_COMMON.IDENTIFIER,
+                                       rmNamespaceValue, 
Sandesha2Constants.WSRM_COMMON.NS_PREFIX_RM);
+                       identifierElement.setText(sequenceID);
+                       
+                       data.setDetail(identifierElement);
 
                        if (log.isDebugEnabled())
                                log.debug("Exit: 
FaultManager::checkForSequenceClosed, sequence closed");
@@ -379,9 +406,54 @@
 
                if (log.isDebugEnabled())
                        log.debug("Exit: FaultManager::checkForSequenceClosed");
+               
                return null;
 
        }
+       
+       
+       public SandeshaException getFault (RMMsgContext referenceRMMsgContext, 
FaultData data, String addressingNamespaceURI,
+                       StorageManager storageManager) throws AxisFault {
+               
+               SOAPFactory factory = (SOAPFactory) 
referenceRMMsgContext.getSOAPEnvelope().getOMFactory();
+               
+               SOAPFaultCode faultCode = factory.createSOAPFaultCode();
+               SOAPFaultSubCode faultSubCode = 
factory.createSOAPFaultSubCode(faultCode);
+               
+               SOAPFaultValue faultColdValue = 
factory.createSOAPFaultValue(faultCode);
+               SOAPFaultValue faultSubcodeValue = 
factory.createSOAPFaultValue(faultSubCode);
+               
+               faultColdValue.setText(data.getCode());
+               faultSubcodeValue.setText(data.getSubcode());
+
+               faultCode.setSubCode(faultSubCode);
+               
+               SOAPFaultReason reason = factory.createSOAPFaultReason();
+               SOAPFaultText reasonText = factory.createSOAPFaultText();
+               reasonText.setText(data.getReason());
+               reason.addSOAPText(reasonText);
+               
+               SOAPFaultDetail detail = factory.createSOAPFaultDetail();
+               detail.addDetailEntry(data.getDetail());
+               System.out.println("Detail:" + data.getDetail());
+               
+               String SOAPNamespaceValue = factory.getSoapVersionURI();
+               
+               if 
(SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(SOAPNamespaceValue)) {
+                       
referenceRMMsgContext.setProperty(SOAP12Constants.SOAP_FAULT_CODE_LOCAL_NAME, 
faultCode);
+                       
referenceRMMsgContext.setProperty(SOAP12Constants.SOAP_FAULT_REASON_LOCAL_NAME, 
reason);
+                       
referenceRMMsgContext.setProperty(SOAP12Constants.SOAP_FAULT_DETAIL_LOCAL_NAME, 
detail);
+               } else if (SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals 
(SOAPNamespaceValue)) {
+                       
referenceRMMsgContext.setProperty(SOAP11Constants.SOAP_FAULT_CODE_LOCAL_NAME, 
faultCode);
+                       
referenceRMMsgContext.setProperty(SOAP11Constants.SOAP_FAULT_DETAIL_LOCAL_NAME, 
detail);
+               } else {
+                       String message = 
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.unknownSoapVersion);
+                       throw new SandeshaException (message);
+               }
+               
+               SandeshaException fault = new SandeshaException("");
+               return fault;
+       }
 
        /**
         * Returns a RMMessageContext for the fault message. Data for 
generating the
@@ -392,7 +464,7 @@
         * @return
         * @throws SandeshaException
         */
-       public RMMsgContext getFault(RMMsgContext referenceRMMsgContext, 
FaultData data, String addressingNamespaceURI,
+       public RMMsgContext getFaultMessage (RMMsgContext 
referenceRMMsgContext, FaultData data, String addressingNamespaceURI,
                        StorageManager storageManager) throws SandeshaException 
{
                if (log.isDebugEnabled())
                        log.debug("Enter: FaultManager::getFault");
@@ -472,6 +544,10 @@
 
                        if (log.isDebugEnabled())
                                log.debug("Exit: FaultManager::getFault");
+                       
+                       //setting the serverSide property
+                       faultMsgContext.setServerSide(true);
+                       
                        return faultRMMsgCtx;
 
                } catch (AxisFault e) {

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java?view=diff&rev=453855&r1=453854&r2=453855
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java
 Sat Oct  7 01:06:23 2006
@@ -17,6 +17,7 @@
 

 package org.apache.sandesha2.util;

 

+import org.apache.axis2.AxisFault;

 import org.apache.axis2.context.ConfigurationContext;

 import org.apache.axis2.context.MessageContext;

 import org.apache.commons.logging.Log;

@@ -42,7 +43,7 @@
        private static final Log log = 
LogFactory.getLog(MessageRetransmissionAdjuster.class);

 

        public static boolean adjustRetransmittion(RMMsgContext rmMsgCtx, 
SenderBean retransmitterBean, ConfigurationContext configContext,

-                       StorageManager storageManager) throws SandeshaException 
{

+                       StorageManager storageManager) throws AxisFault {

 

                if (log.isDebugEnabled())

                        log.debug("Enter: 
MessageRetransmissionAdjuster::adjustRetransmittion");

@@ -50,6 +51,11 @@
                String internalSequenceID = 
retransmitterBean.getInternalSequenceID();

                String sequenceID = retransmitterBean.getSequenceID();

 

+               
rmMsgCtx.setProperty(Sandesha2Constants.MessageContextProperties.INTERNAL_SEQUENCE_ID,internalSequenceID);

+               
rmMsgCtx.setProperty(Sandesha2Constants.MessageContextProperties.SEQUENCE_ID, 
sequenceID);

+               

+               String sequencePropertyKey = 
SandeshaUtil.getSequencePropertyKey(rmMsgCtx);

+               

                // operation is the lowest level Sandesha2 could be attached.

                SandeshaPolicyBean propertyBean = 
SandeshaUtil.getPropertyBean(rmMsgCtx.getMessageContext().getAxisOperation());

 

@@ -72,7 +78,8 @@
 

                        // Only messages of outgoing sequences get 
retransmitted. So named

                        // following method according to that.

-                       finalizeTimedOutSequence(internalSequenceID, 
sequenceID, rmMsgCtx.getMessageContext(), storageManager);

+                       

+                       
finalizeTimedOutSequence(sequencePropertyKey,internalSequenceID, sequenceID, 
rmMsgCtx.getMessageContext(), storageManager);

                        continueSending = false;

                }

 

@@ -126,14 +133,14 @@
                return interval;

        }

 

-       private static void finalizeTimedOutSequence(String internalSequenceID, 
String sequenceID, MessageContext messageContext,

+       private static void finalizeTimedOutSequence(String sequencePropertyKey 
,String internalSequenceID, String sequenceID, MessageContext messageContext,

                        StorageManager storageManager) throws SandeshaException 
{

                ConfigurationContext configurationContext = 
messageContext.getConfigurationContext();

 

                
configurationContext.setProperty(Sandesha2Constants.WITHIN_TRANSACTION, 
messageContext

                                
.getProperty(Sandesha2Constants.WITHIN_TRANSACTION));

                SequenceReport report = 
SandeshaClient.getOutgoingSequenceReport(internalSequenceID, 
configurationContext);

-               
TerminateManager.timeOutSendingSideSequence(configurationContext, 
internalSequenceID, false, storageManager);

+               
TerminateManager.timeOutSendingSideSequence(configurationContext,sequencePropertyKey
 ,internalSequenceID, false, storageManager);

 

                SandeshaListener listener = (SandeshaListener) messageContext

                                
.getProperty(SandeshaClientConstants.SANDESHA_LISTENER);


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=453855&r1=453854&r2=453855
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java 
(original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java 
Sat Oct  7 01:06:23 2006
@@ -25,6 +25,7 @@
 

 import org.apache.axiom.om.OMAbstractFactory;

 import org.apache.axiom.om.OMElement;

+import org.apache.axiom.om.OMNamespace;

 import org.apache.axiom.soap.SOAP12Constants;

 import org.apache.axiom.soap.SOAPEnvelope;

 import org.apache.axiom.soap.SOAPFactory;

@@ -347,6 +348,11 @@
                        OMElement str = 
secMgr.createSecurityTokenReference(token, createSeqmsgContext);

                        createSequencePart.setSecurityTokenReference(str);

                        
createSeqRMMsg.setProperty(Sandesha2Constants.SequenceProperties.SECURITY_TOKEN,
 token);

+                       

+                       //adding the UseSequenceSTR header

+                       SOAPFactory createSeqFactory = (SOAPFactory) 
createSeqRMMsg.getSOAPEnvelope().getOMFactory();

+                       OMNamespace namespace = 
createSeqFactory.createOMNamespace(Sandesha2Constants.WSRM_COMMON.NS_PREFIX_RM, 
createSeqRMMsg.getRMNamespaceValue());

+                       
createSeqFactory.createSOAPHeaderBlock(Sandesha2Constants.WSRM_COMMON.USES_SEQUENCE_STR,
 namespace);

                }

 

                
createSeqRMMsg.setMessagePart(Sandesha2Constants.MessageParts.CREATE_SEQ, 
createSequencePart);


Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java?view=diff&rev=453855&r1=453854&r2=453855
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java 
(original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java 
Sat Oct  7 01:06:23 2006
@@ -613,6 +613,8 @@
                        //TODO - move these to a property file.

             
newMessageContext.setProperty(RampartMessageData.KEY_RAMPART_POLICY, 
referenceMessage

                     .getProperty(RampartMessageData.KEY_RAMPART_POLICY));

+            
newMessageContext.setProperty(RampartMessageData.KEY_RAMPART_POLICY, 
referenceMessage

+                    .getProperty(RampartMessageData.KEY_RAMPART_POLICY));

             

             newMessageContext.setProperty(WSHandlerConstants.RECV_RESULTS, 

                     
referenceMessage.getProperty(WSHandlerConstants.RECV_RESULTS));

@@ -904,7 +906,7 @@
                Parameter parameter = 
axisDescription.getParameter(Sandesha2Constants.SANDESHA_PROPERTY_BEAN);

                if (parameter==null)

                        throw new SandeshaException 
(SandeshaMessageHelper.getMessage(

-                                       
SandeshaMessageKeys.defaultPropertyBeanNotSet));

+                                       
SandeshaMessageKeys.propertyBeanNotSet));

                

                SandeshaPolicyBean propertyBean = (SandeshaPolicyBean) 
parameter.getValue();

                return propertyBean;


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=453855&r1=453854&r2=453855
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
 Sat Oct  7 01:06:23 2006
@@ -201,7 +201,7 @@
         * @param sequenceID

         * @throws SandeshaException

         */

-       public static void terminateSendingSide(ConfigurationContext 
configContext, String internalSequenceID,

+       public static void terminateSendingSide(ConfigurationContext 
configContext, String sequencePropertyKey, String internalSequenceID,

                        boolean serverSide, StorageManager storageManager) 
throws SandeshaException {

 

                SequencePropertyBeanMgr seqPropMgr = 
storageManager.getSequencePropertyBeanMgr();

@@ -210,7 +210,7 @@
                                
Sandesha2Constants.SequenceProperties.SEQUENCE_TERMINATED, 
Sandesha2Constants.VALUE_TRUE);

                seqPropMgr.insert(seqTerminatedBean);

 

-               cleanSendingSideData(configContext, internalSequenceID, 
serverSide, storageManager);

+               cleanSendingSideData (configContext, sequencePropertyKey , 
internalSequenceID, serverSide, storageManager);

        }

 

        private static void doUpdatesIfNeeded(String sequenceID, 
SequencePropertyBean propertyBean,

@@ -280,33 +280,33 @@
                return deleatable;

        }

 

-       public static void timeOutSendingSideSequence(ConfigurationContext 
context, String internalSequenceID,

+       public static void timeOutSendingSideSequence(ConfigurationContext 
context, String sequencePropertyKey,String internalSequenceId,

                        boolean serverside, StorageManager storageManager) 
throws SandeshaException {

 

                SequencePropertyBeanMgr seqPropMgr = 
storageManager.getSequencePropertyBeanMgr();

-               SequencePropertyBean seqTerminatedBean = new 
SequencePropertyBean(internalSequenceID,

+               SequencePropertyBean seqTerminatedBean = new 
SequencePropertyBean(sequencePropertyKey,

                                
Sandesha2Constants.SequenceProperties.SEQUENCE_TIMED_OUT, 
Sandesha2Constants.VALUE_TRUE);

                seqPropMgr.insert(seqTerminatedBean);

 

-               cleanSendingSideData(context, internalSequenceID, serverside, 
storageManager);

+               cleanSendingSideData(context, 
sequencePropertyKey,internalSequenceId, serverside, storageManager);

        }

 

-       private static void cleanSendingSideData(ConfigurationContext 
configContext, String internalSequenceID,

+       private static void cleanSendingSideData(ConfigurationContext 
configContext, String sequencePropertyKey,String internalSequenceId,

                        boolean serverSide, StorageManager storageManager) 
throws SandeshaException {

 

                SequencePropertyBeanMgr sequencePropertyBeanMgr = 
storageManager.getSequencePropertyBeanMgr();

                SenderBeanMgr retransmitterBeanMgr = 
storageManager.getRetransmitterBeanMgr();

                CreateSeqBeanMgr createSeqBeanMgr = 
storageManager.getCreateSeqBeanMgr();

 

-               String outSequenceID = 
SandeshaUtil.getSequenceProperty(internalSequenceID,

+               String outSequenceID = 
SandeshaUtil.getSequenceProperty(sequencePropertyKey,

                                
Sandesha2Constants.SequenceProperties.OUT_SEQUENCE_ID, storageManager);

 

                if (!serverSide) {

                        boolean stopListnerForAsyncAcks = false;

-                       SequencePropertyBean acksToBean = 
sequencePropertyBeanMgr.retrieve(internalSequenceID,

+                       SequencePropertyBean acksToBean = 
sequencePropertyBeanMgr.retrieve(sequencePropertyKey,

                                        
Sandesha2Constants.SequenceProperties.ACKS_TO_EPR);

 

-                       String addressingNamespace = 
SandeshaUtil.getSequenceProperty(internalSequenceID,

+                       String addressingNamespace = 
SandeshaUtil.getSequenceProperty(sequencePropertyKey,

                                        
Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE, 
storageManager);

                        String anonymousURI = 
SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespace);

 

@@ -319,7 +319,7 @@
                }

 

                // removing retransmitterMgr entries and corresponding message 
contexts.

-               Collection collection = 
retransmitterBeanMgr.find(internalSequenceID);

+               Collection collection = 
retransmitterBeanMgr.find(internalSequenceId);

                Iterator iterator = collection.iterator();

                while (iterator.hasNext()) {

                        SenderBean retransmitterBean = (SenderBean) 
iterator.next();

@@ -331,7 +331,7 @@
 

                // removing the createSeqMgrEntry

                CreateSeqBean findCreateSequenceBean = new CreateSeqBean();

-               
findCreateSequenceBean.setInternalSequenceID(internalSequenceID);

+               
findCreateSequenceBean.setInternalSequenceID(internalSequenceId);

                collection = createSeqBeanMgr.find(findCreateSequenceBean);

                iterator = collection.iterator();

                while (iterator.hasNext()) {

@@ -341,7 +341,7 @@
 

                // removing sequence properties

                SequencePropertyBean findSequencePropertyBean1 = new 
SequencePropertyBean();

-               
findSequencePropertyBean1.setSequencePropertyKey(internalSequenceID);

+               
findSequencePropertyBean1.setSequencePropertyKey(sequencePropertyKey);

                collection = 
sequencePropertyBeanMgr.find(findSequencePropertyBean1);

                iterator = collection.iterator();

                while (iterator.hasNext()) {


Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java?view=diff&rev=453855&r1=453854&r2=453855
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java
 Sat Oct  7 01:06:23 2006
@@ -200,11 +200,8 @@
                        }
 
                        if ((rmMsgCtx.getMessageType() == 
Sandesha2Constants.MessageTypes.TERMINATE_SEQ)
-                                       /*&&
-                                        
(Sandesha2Constants.SPEC_2005_02.NS_URI.equals(rmMsgCtx.getRMNamespaceValue()))*/)
 {
-                               
-                               //TODO - cant do below due to a bug. Since 
CreateSequenceResponsMsgProcessor does not get called
-                               //currently. To fix this fix the 'todo' in the 
processOutMessage method of the TerminateSeqMsgProcesser.
+                                       &&
+                                        
(Sandesha2Constants.SPEC_2005_02.NS_URI.equals(rmMsgCtx.getRMNamespaceValue())))
 {
                                
                                //terminate message sent using the 
SandeshaClient. Since the terminate message will simply get the
                                //InFlow of the reference message get called 
which could be zero sized (OutOnly operations).
@@ -219,7 +216,8 @@
 
                                String internalSequenceID = 
SandeshaUtil.getSequenceProperty(sequenceID,
                                                
Sandesha2Constants.SequenceProperties.INTERNAL_SEQUENCE_ID, storageManager);
-                               
TerminateManager.terminateSendingSide(configContext, internalSequenceID, 
msgCtx.isServerSide(),
+                               String sequencePropertyKey = 
internalSequenceID; //property key of the sending side is the internal sequence 
Id.
+                               
TerminateManager.terminateSendingSide(configContext, sequencePropertyKey 
,internalSequenceID, msgCtx.isServerSide(),
                                                storageManager);
                        }
 
@@ -228,10 +226,12 @@
                        if (transaction!=null && transaction.isActive())
                                transaction.rollback();
                } catch (SandeshaException e) {
-                       // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (MissingResourceException e) {
-                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (AxisFault e) {
+                       e.printStackTrace();
+               } catch (Exception e) {
                        e.printStackTrace();
                } finally {
                        if (transaction!=null && transaction.isActive())



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

Reply via email to