You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by ch...@apache.org on 2006/10/07 10:06:24 UTC

svn commit: r453855 - in /webservices/sandesha/trunk/java/src/org/apache/sandesha2: ./ handlers/ i18n/ msgprocessors/ util/ workers/

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: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org