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 ga...@apache.org on 2007/01/15 12:44:55 UTC
svn commit: r496282 - in
/webservices/sandesha/trunk/java/src/org/apache/sandesha2: ./ client/
handlers/ msgprocessors/ storage/beans/ util/
Author: gatfora
Date: Mon Jan 15 03:44:52 2007
New Revision: 496282
URL: http://svn.apache.org/viewvc?view=rev&rev=496282
Log:
Move securityToken property to RMSequenceBean
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClient.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
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/CreateSeqResponseMsgProcessor.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.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/storage/beans/RMSBean.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMSequenceBean.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/WSRMMessageSender.java
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java?view=diff&rev=496282&r1=496281&r2=496282
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java Mon Jan 15 03:44:52 2007
@@ -253,8 +253,6 @@
// sequences
String INCOMING_SEQUENCE_LIST = "IncomingSequenceList";
-
- String SECURITY_TOKEN = "SecurityToken";
}
public interface SOAPVersion {
@@ -393,15 +391,15 @@
}
- String IN_HANDLER_NAME = "SandeshaInHandler";
+ static final String IN_HANDLER_NAME = "SandeshaInHandler";
- String OUT_HANDLER_NAME = "SandeshaOutHandler";
+ static final String OUT_HANDLER_NAME = "SandeshaOutHandler";
- String GLOBAL_IN_HANDLER_NAME = "GlobalInHandler";
+ static final String GLOBAL_IN_HANDLER_NAME = "GlobalInHandler";
- String APPLICATION_PROCESSING_DONE = "Sandesha2AppProcessingDone";
+ static final String APPLICATION_PROCESSING_DONE = "Sandesha2AppProcessingDone";
- String ACK_WRITTEN = "AckWritten";
+ static final String ACK_WRITTEN = "AckWritten";
int INVOKER_SLEEP_TIME = 1000;
@@ -411,84 +409,85 @@
int TERMINATE_DELAY = 100;
- String TEMP_SEQUENCE_ID = "uuid:tempID";
+ static final String TEMP_SEQUENCE_ID = "uuid:tempID";
- String ACK_PROCSSED = "AckProcessed";
+ static final String ACK_PROCSSED = "AckProcessed";
- String RM_ENABLE_KEY = "RMEnabled";
+ static final String RM_ENABLE_KEY = "RMEnabled";
int MAXIMUM_RETRANSMISSION_ATTEMPTS = 5;
- String PROPERTY_FILE = "sandesha2.properties";
+ static final String PROPERTY_FILE = "sandesha2.properties";
- String VALUE_NONE = "none";
+ static final String VALUE_NONE = "none";
- String VALUE_EMPTY = "empty";
+ static final String VALUE_EMPTY = "empty";
- String VALUE_TRUE = "true";
+ static final String VALUE_TRUE = "true";
- String VALUE_FALSE = "false";
+ static final String VALUE_FALSE = "false";
- String MESSAGE_STORE_KEY = "Sandesha2MessageStoreKey";
+ static final String MESSAGE_STORE_KEY = "Sandesha2MessageStoreKey";
- String ORIGINAL_TRANSPORT_OUT_DESC = "Sandesha2OriginalTransportSender";
+ static final String ORIGINAL_TRANSPORT_OUT_DESC = "Sandesha2OriginalTransportSender";
- String SET_SEND_TO_TRUE = "Sandesha2SetSendToTrue";
+ static final String SET_SEND_TO_TRUE = "Sandesha2SetSendToTrue";
- String MESSAGE_TYPE = "Sandesha2MessageType";
+ static final String MESSAGE_TYPE = "Sandesha2MessageType";
- String QUALIFIED_FOR_SENDING = "Sandesha2QualifiedForSending"; //Sender will send messages only if this property is null (not set) or true.
+ static final String QUALIFIED_FOR_SENDING = "Sandesha2QualifiedForSending"; //Sender will send messages only if this property is null (not set) or true.
- String QNAME_SEPERATOR = ",";
+ static final String QNAME_SEPERATOR = ",";
- String EXECUTIN_CHAIN_SEPERATOR = ".";
+ static final String EXECUTIN_CHAIN_SEPERATOR = ".";
- String INTERNAL_SEQUENCE_PREFIX = "Sandesha2InternalSequence";
+ static final String INTERNAL_SEQUENCE_PREFIX = "Sandesha2InternalSequence";
- String SANDESHA_PROPERTY_BEAN = "Sandesha2PropertyBean";
+ static final String SANDESHA_PROPERTY_BEAN = "Sandesha2PropertyBean";
- String LIST_SEPERATOR = ",";
+ static final String LIST_SEPERATOR = ",";
- String LIST_PART_SEPERATOR = "-";
+ static final String LIST_PART_SEPERATOR = "-";
- String INMEMORY_STORAGE_MANAGER = "inmemory";
+ static final String INMEMORY_STORAGE_MANAGER = "inmemory";
- String PERMANENT_STORAGE_MANAGER = "persistent";
+ static final String PERMANENT_STORAGE_MANAGER = "persistent";
- String DEFAULT_STORAGE_MANAGER = INMEMORY_STORAGE_MANAGER;
+ static final String DEFAULT_STORAGE_MANAGER = INMEMORY_STORAGE_MANAGER;
- String POLLING_MANAGER = "PollingManager";
+ static final String POLLING_MANAGER = "PollingManager";
- String STORAGE_MANAGER_PARAMETER = "Sandesha2StorageManager";
+ static final String STORAGE_MANAGER_PARAMETER = "Sandesha2StorageManager";
- String POST_FAILURE_MESSAGE = "PostFailureMessage";
+ static final String POST_FAILURE_MESSAGE = "PostFailureMessage";
- String REINJECTED_MESSAGE = "ReinjectedMessage";
+ static final String REINJECTED_MESSAGE = "ReinjectedMessage";
- String MODULE_CLASS_LOADER = "Sandesha2ModuleClassLoader";
+ static final String MODULE_CLASS_LOADER = "Sandesha2ModuleClassLoader";
- String SECURITY_MANAGER = "Sandesha2SecurityManager";
+ static final String SECURITY_MANAGER = "Sandesha2SecurityManager";
- String RM_IN_OUT_OPERATION_NAME = "RMInOutOperation";
+ static final String RM_IN_OUT_OPERATION_NAME = "RMInOutOperation";
- String RM_IN_ONLY_OPERATION = "RMInOnlyOperation";
+ static final String RM_IN_ONLY_OPERATION = "RMInOnlyOperation";
- String RETRANSMITTABLE_PHASES = "RMRetransmittablePhases";
+ static final String RETRANSMITTABLE_PHASES = "RMRetransmittablePhases";
- String propertiesToCopyFromReferenceMessage = "propertiesToCopyFromReferenceMessage";
+ static final String propertiesToCopyFromReferenceMessage = "propertiesToCopyFromReferenceMessage";
- String propertiesToCopyFromReferenceRequestMessage = "propertiesToCopyFromReferenceRequestMessage";
+ static final String propertiesToCopyFromReferenceRequestMessage = "propertiesToCopyFromReferenceRequestMessage";
- String [] SPEC_NS_URIS = {
+ static final String [] SPEC_NS_URIS = {
SPEC_2005_02.NS_URI,
SPEC_2006_08.NS_URI
};
public interface MessageContextProperties{
- String INTERNAL_SEQUENCE_ID = "Sandesha2InternalSequenceId";
- String SEQUENCE_ID = "WSRMSequenceId";
- String MESSAGE_NUMBER = "WSRMMessageNumber";
- String SEQUENCE_PROPERTY_KEY = "SequencePropertyKey";
+ static final String INTERNAL_SEQUENCE_ID = "Sandesha2InternalSequenceId";
+ static final String SEQUENCE_ID = "WSRMSequenceId";
+ static final String MESSAGE_NUMBER = "WSRMMessageNumber";
+ static final String SEQUENCE_PROPERTY_KEY = "SequencePropertyKey";
+ static final String SECURITY_TOKEN = "SecurityToken";
}
public interface Assertions {
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClient.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClient.java?view=diff&rev=496282&r1=496281&r2=496282
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClient.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClient.java Mon Jan 15 03:44:52 2007
@@ -199,9 +199,7 @@
report.addCompletedMessage((Long)iter.next());
}
- SequencePropertyBean tokenBean =
- storageManager.getSequencePropertyBeanMgr().retrieve(rmsBean.getInternalSequenceID(), Sandesha2Constants.SequenceProperties.SECURITY_TOKEN);
- if(tokenBean != null) report.setSecureSequence(true);
+ if(rmsBean.getSecurityTokenData() != null) report.setSecureSequence(true);
}
/**
@@ -1005,7 +1003,6 @@
throws SandeshaException {
StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx,configCtx.getAxisConfiguration());
- SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropertyBeanMgr();
Transaction reportTransaction = null;
@@ -1030,8 +1027,8 @@
sequenceReport.setSequenceStatus(getServerSequenceStatus(sequenceID, storageManager));
- SequencePropertyBean tokenBean = seqPropMgr.retrieve(sequenceID, Sandesha2Constants.SequenceProperties.SECURITY_TOKEN);
- if(tokenBean != null) sequenceReport.setSecureSequence(true);
+ RMDBean rmdBean = SandeshaUtil.getRMDBeanFromSequenceId(storageManager, sequenceID);
+ if(rmdBean.getSecurityTokenData() != null) sequenceReport.setSecureSequence(true);
return sequenceReport;
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java?view=diff&rev=496282&r1=496281&r2=496282
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java Mon Jan 15 03:44:52 2007
@@ -17,7 +17,6 @@
package org.apache.sandesha2.handlers;
-import java.util.ArrayList;
import java.util.List;
import org.apache.axiom.soap.SOAPBody;
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java?view=diff&rev=496282&r1=496281&r2=496282
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java Mon Jan 15 03:44:52 2007
@@ -46,10 +46,8 @@
import org.apache.sandesha2.security.SecurityToken;
import org.apache.sandesha2.storage.StorageManager;
import org.apache.sandesha2.storage.beanmanagers.SenderBeanMgr;
-import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
import org.apache.sandesha2.storage.beans.RMDBean;
import org.apache.sandesha2.storage.beans.SenderBean;
-import org.apache.sandesha2.storage.beans.SequencePropertyBean;
import org.apache.sandesha2.util.FaultManager;
import org.apache.sandesha2.util.MsgInitializer;
import org.apache.sandesha2.util.RMMsgCreator;
@@ -117,18 +115,13 @@
StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext,
configurationContext.getAxisConfiguration());
-
- SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropertyBeanMgr();
-
- //not getting the sequencePropertyKey from the usual method since the ackRequest may be embedded in a message
- //of a different sequence. (usual method SandeshaUtil.getSequencePropertyKey)
- String sequencePropertyKey = sequenceId;
// Check that the sender of this AckRequest holds the correct token
- SequencePropertyBean tokenBean = seqPropMgr.retrieve(sequencePropertyKey, Sandesha2Constants.SequenceProperties.SECURITY_TOKEN);
- if(tokenBean != null) {
+ RMDBean rmdBean = SandeshaUtil.getRMDBeanFromSequenceId(storageManager, sequenceId);
+
+ if(rmdBean != null && rmdBean.getSecurityTokenData() != null) {;
SecurityManager secManager = SandeshaUtil.getSecurityManager(configurationContext);
- SecurityToken token = secManager.recoverSecurityToken(tokenBean.getValue());
+ SecurityToken token = secManager.recoverSecurityToken(rmdBean.getSecurityTokenData());
secManager.checkProofOfPossession(token, soapHeader, msgContext);
}
@@ -137,8 +130,6 @@
FaultManager.checkForUnknownSequence(rmMsgCtx, sequenceId, storageManager);
// Setting the ack depending on AcksTo.
- RMDBean rmdBean = SandeshaUtil.getRMDBeanFromSequenceId(storageManager, sequenceId);
-
EndpointReference acksTo = new EndpointReference(rmdBean.getAcksToEPR());
String acksToStr = acksTo.getAddress();
@@ -170,7 +161,7 @@
ackMsgCtx.setTo(acksTo);
ackMsgCtx.setReplyTo(msgContext.getTo());
- RMMsgCreator.addAckMessage(ackRMMsgCtx,rmdBean,sequencePropertyKey,sequenceId, storageManager);
+ RMMsgCreator.addAckMessage(ackRMMsgCtx,rmdBean, sequenceId, storageManager);
ackRMMsgCtx.getMessageContext().setServerSide(true);
if (acksTo.hasAnonymousAddress()) {
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=496282&r1=496281&r2=496282
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java Mon Jan 15 03:44:52 2007
@@ -41,11 +41,9 @@
import org.apache.sandesha2.storage.StorageManager;
import org.apache.sandesha2.storage.beanmanagers.RMDBeanMgr;
import org.apache.sandesha2.storage.beanmanagers.SenderBeanMgr;
-import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
import org.apache.sandesha2.storage.beans.RMDBean;
import org.apache.sandesha2.storage.beans.RMSBean;
import org.apache.sandesha2.storage.beans.SenderBean;
-import org.apache.sandesha2.storage.beans.SequencePropertyBean;
import org.apache.sandesha2.util.AcknowledgementManager;
import org.apache.sandesha2.util.FaultManager;
import org.apache.sandesha2.util.SandeshaUtil;
@@ -110,7 +108,6 @@
.getAxisConfiguration());
SenderBeanMgr retransmitterMgr = storageManager.getSenderBeanMgr();
- SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropertyBeanMgr();
String outSequenceId = sequenceAck.getIdentifier().getIdentifier();
if (outSequenceId == null || "".equals(outSequenceId)) {
@@ -122,10 +119,9 @@
// Check that the sender of this Ack holds the correct token
RMSBean rmsBean = SandeshaUtil.getRMSBeanFromSequenceId(storageManager, outSequenceId);
String sequencePropertyKey = rmsBean.getInternalSequenceID();
- SequencePropertyBean tokenBean = seqPropMgr.retrieve(sequencePropertyKey, Sandesha2Constants.SequenceProperties.SECURITY_TOKEN);
- if(tokenBean != null) {
+ if(rmsBean.getSecurityTokenData() != null) {
SecurityManager secManager = SandeshaUtil.getSecurityManager(configCtx);
- SecurityToken token = secManager.recoverSecurityToken(tokenBean.getValue());
+ SecurityToken token = secManager.recoverSecurityToken(rmsBean.getSecurityTokenData());
secManager.checkProofOfPossession(token, soapHeader, msgCtx);
}
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=496282&r1=496281&r2=496282
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java Mon Jan 15 03:44:52 2007
@@ -513,7 +513,7 @@
// if (pollingMode)
// SandeshaUtil.startPollingManager(configCtx);
- SecurityToken token = (SecurityToken) createSeqRMMessage.getProperty(Sandesha2Constants.SequenceProperties.SECURITY_TOKEN);
+ SecurityToken token = (SecurityToken) createSeqRMMessage.getProperty(Sandesha2Constants.MessageContextProperties.SECURITY_TOKEN);
if(token != null) {
SecurityManager secManager = SandeshaUtil.getSecurityManager(configCtx);
rmsBean.setSecurityTokenData(secManager.getTokenRecoveryData(token));
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=496282&r1=496281&r2=496282
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java Mon Jan 15 03:44:52 2007
@@ -38,9 +38,7 @@
import org.apache.sandesha2.security.SecurityManager;
import org.apache.sandesha2.security.SecurityToken;
import org.apache.sandesha2.storage.StorageManager;
-import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
import org.apache.sandesha2.storage.beans.RMDBean;
-import org.apache.sandesha2.storage.beans.SequencePropertyBean;
import org.apache.sandesha2.util.AcknowledgementManager;
import org.apache.sandesha2.util.FaultManager;
import org.apache.sandesha2.util.RMMsgCreator;
@@ -76,20 +74,19 @@
StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx, configCtx
.getAxisConfiguration());
- SequencePropertyBeanMgr sequencePropMgr = storageManager.getSequencePropertyBeanMgr();
-
+
+ RMDBean rmdBean = SandeshaUtil.getRMDBeanFromSequenceId(storageManager, sequenceId);
+
// Check that the sender of this CloseSequence holds the correct token
- SequencePropertyBean tokenBean = sequencePropMgr.retrieve(sequencePropertyKey, Sandesha2Constants.SequenceProperties.SECURITY_TOKEN);
- if(tokenBean != null) {
+ if(rmdBean != null && rmdBean.getSecurityTokenData() != null) {
SecurityManager secManager = SandeshaUtil.getSecurityManager(msgCtx.getConfigurationContext());
OMElement body = msgCtx.getEnvelope().getBody();
- SecurityToken token = secManager.recoverSecurityToken(tokenBean.getValue());
+ SecurityToken token = secManager.recoverSecurityToken(rmdBean.getSecurityTokenData());
secManager.checkProofOfPossession(token, body, msgCtx);
}
FaultManager.checkForUnknownSequence(rmMsgCtx, sequenceId, storageManager);
- RMDBean rmdBean = SandeshaUtil.getRMDBeanFromSequenceId(storageManager, sequenceId);
rmdBean.setClosed(true);
storageManager.getRMDBeanMgr().update(rmdBean);
@@ -117,7 +114,7 @@
MessageContext closeSequenceMsg = rmMsgCtx.getMessageContext();
- RMMsgContext closeSeqResponseRMMsg = RMMsgCreator.createCloseSeqResponseMsg(rmMsgCtx);
+ RMMsgContext closeSeqResponseRMMsg = RMMsgCreator.createCloseSeqResponseMsg(rmMsgCtx, rmdBean);
MessageContext closeSequenceResponseMsg = closeSeqResponseRMMsg.getMessageContext();
while (sequenceAckIter.hasNext()) {
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=496282&r1=496281&r2=496282
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java Mon Jan 15 03:44:52 2007
@@ -103,7 +103,7 @@
// sequence state.
RMDBean rmdBean = SequenceManager.setupNewSequence(createSeqRMMsg, storageManager, secManager, token);
- RMMsgContext createSeqResponse = RMMsgCreator.createCreateSeqResponseMsg(createSeqRMMsg, rmdBean.getSequenceID());
+ RMMsgContext createSeqResponse = RMMsgCreator.createCreateSeqResponseMsg(createSeqRMMsg, rmdBean);
outMessage = createSeqResponse.getMessageContext();
createSeqResponse.setFlow(MessageContext.OUT_FLOW);
@@ -145,8 +145,6 @@
rMSBean.setReplyToEPR(rmdBean.getReplyToEPR());
rMSBean.setLastActivatedTime(System.currentTimeMillis());
rMSBean.setRMVersion(rmdBean.getRMVersion());
-
- String outgoingSideSequencePropertyKey = outgoingSideInternalSequenceId;
// Setting sequence properties for the outgoing sequence.
// Only will be used by the server side response path. Will
@@ -159,17 +157,11 @@
}
RMSBeanMgr rmsBeanMgr = storageManager.getRMSBeanMgr();
- rmsBeanMgr.insert(rMSBean);
// Store the inbound token (if any) with the new sequence
- if(token != null) {
- String tokenData = secManager.getTokenRecoveryData(token);
- SequencePropertyBean tokenBean = new SequencePropertyBean(
- outgoingSideSequencePropertyKey,
- Sandesha2Constants.SequenceProperties.SECURITY_TOKEN,
- tokenData);
- seqPropMgr.insert(tokenBean);
- }
+ rMSBean.setSecurityTokenData(rmdBean.getSecurityTokenData());
+
+ rmsBeanMgr.insert(rMSBean);
} else {
// removing the accept part.
createSeqResPart.setAccept(null);
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java?view=diff&rev=496282&r1=496281&r2=496282
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java Mon Jan 15 03:44:52 2007
@@ -136,8 +136,6 @@
}
createSeqResponseRMMsgCtx.setProperty(Sandesha2Constants.MessageContextProperties.INTERNAL_SEQUENCE_ID,internalSequenceId);
- String sequencePropertyKey = SandeshaUtil.getSequencePropertyKey(createSeqResponseRMMsgCtx);
-
rmsBean.setSequenceID(newOutSequenceId);
// We must poll for any reply-to that uses the anonymous URI. If it is a ws-a reply to then
@@ -159,14 +157,7 @@
retransmitterMgr.delete(createSeqMsgId);
SequencePropertyBeanMgr sequencePropMgr = storageManager.getSequencePropertyBeanMgr();
-
- // Store the security token under the new sequence id
- if(tokenData != null) {
- SequencePropertyBean newToken = new SequencePropertyBean(sequencePropertyKey,
- Sandesha2Constants.SequenceProperties.SECURITY_TOKEN, tokenData);
- sequencePropMgr.insert(newToken);
- }
-
+
// processing for accept (offer has been sent)
Accept accept = createSeqResponsePart.getAccept();
if (accept != null) {
@@ -215,17 +206,14 @@
rMDBean.setServerCompletedMessages(new ArrayList());
RMDBeanMgr rmdBeanMgr = storageManager.getRMDBeanMgr();
- rmdBeanMgr.insert(rMDBean);
rmsBean.setLastActivatedTime(System.currentTimeMillis());
rmsBeanMgr.update(rmsBean);
// Store the security token for the offered sequence
- if(tokenData != null) {
- SequencePropertyBean newToken = new SequencePropertyBean(rmsBean.getOfferedSequence(),
- Sandesha2Constants.SequenceProperties.SECURITY_TOKEN, tokenData);
- sequencePropMgr.insert(newToken);
- }
+ rMDBean.setSecurityTokenData(rmsBean.getSecurityTokenData());
+
+ rmdBeanMgr.insert(rMDBean);
// Add the offered sequence into the inbound sequences list
SequencePropertyBean incomingSequenceListBean = sequencePropMgr.retrieve(
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java?view=diff&rev=496282&r1=496281&r2=496282
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java Mon Jan 15 03:44:52 2007
@@ -46,11 +46,9 @@
import org.apache.sandesha2.storage.beanmanagers.InvokerBeanMgr;
import org.apache.sandesha2.storage.beanmanagers.RMDBeanMgr;
import org.apache.sandesha2.storage.beanmanagers.SenderBeanMgr;
-import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
import org.apache.sandesha2.storage.beans.InvokerBean;
import org.apache.sandesha2.storage.beans.RMDBean;
import org.apache.sandesha2.storage.beans.SenderBean;
-import org.apache.sandesha2.storage.beans.SequencePropertyBean;
import org.apache.sandesha2.util.AcknowledgementManager;
import org.apache.sandesha2.util.FaultManager;
import org.apache.sandesha2.util.MsgInitializer;
@@ -96,15 +94,14 @@
MessageContext msgCtx = rmMsgCtx.getMessageContext();
StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(msgCtx.getConfigurationContext(),msgCtx.getConfigurationContext().getAxisConfiguration());
- SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropertyBeanMgr();
Sequence sequence = (Sequence) rmMsgCtx.getMessagePart(Sandesha2Constants.MessageParts.SEQUENCE);
String sequenceId = sequence.getIdentifier().getIdentifier();
- String propertyKey = SandeshaUtil.getSequencePropertyKey(rmMsgCtx);
-
// Check that both the Sequence header and message body have been secured properly
- SequencePropertyBean tokenBean = seqPropMgr.retrieve(propertyKey, Sandesha2Constants.SequenceProperties.SECURITY_TOKEN);
- if(tokenBean != null) {
+ RMDBeanMgr mgr = storageManager.getRMDBeanMgr();
+ RMDBean bean = mgr.retrieve(sequenceId);
+
+ if(bean != null && bean.getSecurityTokenData() != null) {
SecurityManager secManager = SandeshaUtil.getSecurityManager(msgCtx.getConfigurationContext());
QName seqName = new QName(rmMsgCtx.getRMNamespaceValue(), Sandesha2Constants.WSRM_COMMON.SEQUENCE);
@@ -113,7 +110,7 @@
OMElement body = envelope.getBody();
OMElement seqHeader = envelope.getHeader().getFirstChildWithName(seqName);
- SecurityToken token = secManager.recoverSecurityToken(tokenBean.getValue());
+ SecurityToken token = secManager.recoverSecurityToken(bean.getSecurityTokenData());
secManager.checkProofOfPossession(token, seqHeader, msgCtx);
secManager.checkProofOfPossession(token, body, msgCtx);
@@ -132,9 +129,6 @@
// setting mustUnderstand to false.
sequence.setMustUnderstand(false);
rmMsgCtx.addSOAPEnvelope();
-
- RMDBeanMgr mgr = storageManager.getRMDBeanMgr();
- RMDBean bean = mgr.retrieve(sequenceId);
if (bean == null) {
throw new SandeshaException(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.cannotFindSequence,
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=496282&r1=496281&r2=496282
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java Mon Jan 15 03:44:52 2007
@@ -40,10 +40,8 @@
import org.apache.sandesha2.security.SecurityToken;
import org.apache.sandesha2.storage.StorageManager;
import org.apache.sandesha2.storage.beanmanagers.RMDBeanMgr;
-import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
import org.apache.sandesha2.storage.beans.RMDBean;
import org.apache.sandesha2.storage.beans.RMSBean;
-import org.apache.sandesha2.storage.beans.SequencePropertyBean;
import org.apache.sandesha2.util.AcknowledgementManager;
import org.apache.sandesha2.util.FaultManager;
import org.apache.sandesha2.util.RMMsgCreator;
@@ -90,14 +88,13 @@
ConfigurationContext context = terminateSeqMsg.getConfigurationContext();
StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context,context.getAxisConfiguration());
- SequencePropertyBeanMgr sequencePropertyBeanMgr = storageManager.getSequencePropertyBeanMgr();
// Check that the sender of this TerminateSequence holds the correct token
- SequencePropertyBean tokenBean = sequencePropertyBeanMgr.retrieve(sequencePropertyKey, Sandesha2Constants.SequenceProperties.SECURITY_TOKEN);
- if(tokenBean != null) {
+ RMDBean rmdBean = SandeshaUtil.getRMDBeanFromSequenceId(storageManager, sequenceId);
+ if(rmdBean != null && rmdBean.getSecurityTokenData() != null) {
SecurityManager secManager = SandeshaUtil.getSecurityManager(context);
OMElement body = terminateSeqRMMsg.getSOAPEnvelope().getBody();
- SecurityToken token = secManager.recoverSecurityToken(tokenBean.getValue());
+ SecurityToken token = secManager.recoverSecurityToken(rmdBean.getSecurityTokenData());
secManager.checkProofOfPossession(token, body, terminateSeqRMMsg.getMessageContext());
}
@@ -106,11 +103,10 @@
// add the terminate sequence response if required.
RMMsgContext terminateSequenceResponse = null;
if (SpecSpecificConstants.isTerminateSequenceResponseRequired(terminateSeqRMMsg.getRMSpecVersion()))
- terminateSequenceResponse = getTerminateSequenceResponse(terminateSeqRMMsg, sequencePropertyKey, sequenceId, storageManager);
+ terminateSequenceResponse = getTerminateSequenceResponse(terminateSeqRMMsg, rmdBean, sequencePropertyKey, sequenceId, storageManager);
setUpHighestMsgNumbers(context, storageManager,sequencePropertyKey, sequenceId, terminateSeqRMMsg);
- RMDBean rmdBean = SandeshaUtil.getRMDBeanFromSequenceId(storageManager, sequenceId);
rmdBean.setTerminated(true);
rmdBean.setLastActivatedTime(System.currentTimeMillis());
storageManager.getRMDBeanMgr().update(rmdBean);
@@ -222,13 +218,13 @@
log.debug("Exit: TerminateSeqMsgProcessor::setUpHighestMsgNumbers");
}
- private RMMsgContext getTerminateSequenceResponse(RMMsgContext terminateSeqRMMsg, String sequencePropertyKey,String sequenceId,
+ private RMMsgContext getTerminateSequenceResponse(RMMsgContext terminateSeqRMMsg, RMDBean rmdBean, String sequencePropertyKey,String sequenceId,
StorageManager storageManager) throws AxisFault {
if (log.isDebugEnabled())
log.debug("Enter: TerminateSeqMsgProcessor::addTerminateSequenceResponse, " + sequenceId);
- RMMsgContext terminateSeqResponseRMMsg = RMMsgCreator.createTerminateSeqResponseMsg(terminateSeqRMMsg);
+ RMMsgContext terminateSeqResponseRMMsg = RMMsgCreator.createTerminateSeqResponseMsg(terminateSeqRMMsg, rmdBean);
MessageContext outMessage = terminateSeqResponseRMMsg.getMessageContext();
RMMsgContext ackRMMessage = AcknowledgementManager.generateAckMessage(terminateSeqRMMsg, sequencePropertyKey,
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=496282&r1=496281&r2=496282
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqResponseMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqResponseMsgProcessor.java Mon Jan 15 03:44:52 2007
@@ -29,10 +29,8 @@
import org.apache.sandesha2.security.SecurityToken;
import org.apache.sandesha2.storage.StorageManager;
import org.apache.sandesha2.storage.beanmanagers.RMDBeanMgr;
-import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
import org.apache.sandesha2.storage.beans.RMDBean;
import org.apache.sandesha2.storage.beans.RMSBean;
-import org.apache.sandesha2.storage.beans.SequencePropertyBean;
import org.apache.sandesha2.util.SandeshaUtil;
import org.apache.sandesha2.util.TerminateManager;
import org.apache.sandesha2.wsrm.TerminateSequenceResponse;
@@ -52,24 +50,22 @@
ConfigurationContext context = terminateResRMMsg.getConfigurationContext();
StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context,context.getAxisConfiguration());
- SequencePropertyBeanMgr sequencePropertyBeanMgr = storageManager.getSequencePropertyBeanMgr();
TerminateSequenceResponse tsResponse = (TerminateSequenceResponse)
terminateResRMMsg.getMessagePart(Sandesha2Constants.MessageParts.TERMINATE_SEQ_RESPONSE);
String sequenceId = tsResponse.getIdentifier().getIdentifier();
RMSBean rmsBean = SandeshaUtil.getRMSBeanFromSequenceId(storageManager, sequenceId);
- msgContext.setProperty(Sandesha2Constants.MessageContextProperties.INTERNAL_SEQUENCE_ID,rmsBean.getInternalSequenceID());
- String sequencePropertyKey = SandeshaUtil.getSequencePropertyKey(terminateResRMMsg);
// Check that the sender of this TerminateSequence holds the correct token
- SequencePropertyBean tokenBean = sequencePropertyBeanMgr.retrieve(sequencePropertyKey, Sandesha2Constants.SequenceProperties.SECURITY_TOKEN);
- if(tokenBean != null) {
+ if(rmsBean != null && rmsBean.getSecurityTokenData() != null) {
SecurityManager secManager = SandeshaUtil.getSecurityManager(context);
OMElement body = terminateResRMMsg.getSOAPEnvelope().getBody();
- SecurityToken token = secManager.recoverSecurityToken(tokenBean.getValue());
+ SecurityToken token = secManager.recoverSecurityToken(rmsBean.getSecurityTokenData());
secManager.checkProofOfPossession(token, body, msgContext);
}
+
+ msgContext.setProperty(Sandesha2Constants.MessageContextProperties.INTERNAL_SEQUENCE_ID,rmsBean.getInternalSequenceID());
ConfigurationContext configContext = msgContext.getConfigurationContext();
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMSBean.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMSBean.java?view=diff&rev=496282&r1=496281&r2=496282
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMSBean.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMSBean.java Mon Jan 15 03:44:52 2007
@@ -42,12 +42,6 @@
* This is the message ID of the create sequence message.
*/
private String createSeqMsgID;
-
- /**
- * Comment for <code>securityTokenData</code>
- * This is the security token data needed to reconstruct the token that secures this sequence.
- */
- private String securityTokenData;
/**
* The key that is used to store the CreateSequence message in the Message Storage.
@@ -147,14 +141,6 @@
this.internalSequenceID = internalSequenceID;
}
- public String getSecurityTokenData() {
- return securityTokenData;
- }
-
- public void setSecurityTokenData(String securityTokenData) {
- this.securityTokenData = securityTokenData;
- }
-
public String getCreateSequenceMsgStoreKey() {
return createSequenceMsgStoreKey;
}
@@ -289,7 +275,6 @@
result.append(super.toString());
result.append("\nInternal Seq Id : "); result.append(internalSequenceID);
result.append("\nCreateSeq Msg Id : "); result.append(createSeqMsgID);
- result.append("\nHas SecurityToken: "); result.append(securityTokenData != null && securityTokenData.length() > 0);
result.append("\nCreateSeq Msg Key: "); result.append(createSequenceMsgStoreKey);
result.append("\nReference Msg Key: "); result.append(referenceMessageStoreKey);
result.append("\nLastOutMessageNumber: "); result.append(lastOutMessage);
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMSequenceBean.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMSequenceBean.java?view=diff&rev=496282&r1=496281&r2=496282
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMSequenceBean.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMSequenceBean.java Mon Jan 15 03:44:52 2007
@@ -57,6 +57,12 @@
private boolean pollingMode=false;
private String rMVersion;
+
+ /**
+ * Comment for <code>securityTokenData</code>
+ * This is the security token data needed to reconstruct the token that secures this sequence.
+ */
+ private String securityTokenData;
public RMSequenceBean() {
@@ -145,6 +151,14 @@
this.rMVersion = rmVersion;
}
+ public String getSecurityTokenData() {
+ return securityTokenData;
+ }
+
+ public void setSecurityTokenData(String securityTokenData) {
+ this.securityTokenData = securityTokenData;
+ }
+
public String toString() {
StringBuffer result = new StringBuffer();
result.append("\nSequence Id : "); result.append(sequenceID);
@@ -156,6 +170,7 @@
result.append("\nTerminated : "); result.append(terminated);
result.append("\nLastActivatedTime: "); result.append(lastActivatedTime);
result.append("\nRMVersion : "); result.append(rMVersion);
+ result.append("\nHas SecurityToken: "); result.append(securityTokenData != null && securityTokenData.length() > 0);
return result.toString();
}
}
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java?view=diff&rev=496282&r1=496281&r2=496282
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java Mon Jan 15 03:44:52 2007
@@ -85,7 +85,7 @@
String inboundSequenceId = SandeshaUtil.getServerSideIncomingSeqIdFromInternalSeqId(outboundInternalSeq);
if(log.isDebugEnabled()) log.debug("Piggybacking ack for " + inboundSequenceId);
- RMMsgCreator.addAckMessage(rmMessageContext, rmsBean, inboundSequenceId, inboundSequenceId, storageManager);
+ RMMsgCreator.addAckMessage(rmMessageContext, rmsBean, inboundSequenceId, storageManager);
}
if(log.isDebugEnabled()) log.debug("Exit: AcknowledgementManager::piggybackAcksIfPresent, anon");
return;
@@ -240,7 +240,7 @@
ackMsgCtx.setTo(acksTo);
// adding the SequenceAcknowledgement part.
- RMMsgCreator.addAckMessage(ackRMMsgCtx, rmdBean, sequencePropertyKey ,sequenceId, storageManager);
+ RMMsgCreator.addAckMessage(ackRMMsgCtx, rmdBean, sequenceId, storageManager);
if (log.isDebugEnabled())
log.debug("Exit: AcknowledgementManager::generateAckMessage");
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=496282&r1=496281&r2=496282
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java Mon Jan 15 03:44:52 2007
@@ -42,11 +42,9 @@
import org.apache.sandesha2.security.SecurityManager;
import org.apache.sandesha2.security.SecurityToken;
import org.apache.sandesha2.storage.StorageManager;
-import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
import org.apache.sandesha2.storage.beans.RMDBean;
import org.apache.sandesha2.storage.beans.RMSBean;
import org.apache.sandesha2.storage.beans.RMSequenceBean;
-import org.apache.sandesha2.storage.beans.SequencePropertyBean;
import org.apache.sandesha2.wsrm.Accept;
import org.apache.sandesha2.wsrm.AckFinal;
import org.apache.sandesha2.wsrm.AcknowledgementRange;
@@ -202,7 +200,7 @@
if(token != null) {
OMElement str = secMgr.createSecurityTokenReference(token, createSeqmsgContext);
createSequencePart.setSecurityTokenReference(str);
- createSeqRMMsg.setProperty(Sandesha2Constants.SequenceProperties.SECURITY_TOKEN, token);
+ createSeqRMMsg.setProperty(Sandesha2Constants.MessageContextProperties.SECURITY_TOKEN, token);
// If we are using token based security, and the 1.1 spec level, then we
// should introduce a UsesSequenceSTR header into the message.
@@ -228,12 +226,11 @@
* Creates a new TerminateSequence message.
*
* @param referenceRMMessage
- * @param sequenceId
* @return
* @throws SandeshaException
*/
- public static RMMsgContext createTerminateSequenceMessage(RMMsgContext referenceRMMessage, RMSBean rmsBean, String sequenceId,
- String sequencePropertyKey, StorageManager storageManager) throws AxisFault {
+ public static RMMsgContext createTerminateSequenceMessage(RMMsgContext referenceRMMessage, RMSBean rmsBean,
+ StorageManager storageManager) throws AxisFault {
MessageContext referenceMessage = referenceRMMessage.getMessageContext();
if (referenceMessage == null)
throw new SandeshaException(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.msgContextNotSet));
@@ -251,14 +248,9 @@
terminateOperation);
OperationContext operationContext = terminateMessage.getOperationContext();
- configCtx.registerOperationContext(terminateMessage.getMessageID(), operationContext); // to
- // receive
- // terminate
- // sequence
- // response
- // messages
- // correctly.
-
+ // to receive terminate sequence response messages correctly
+ configCtx.registerOperationContext(terminateMessage.getMessageID(), operationContext);
+
String rmNamespaceValue = SpecSpecificConstants.getRMNamespaceValue(rmsBean.getRMVersion());
if (!SpecSpecificConstants.isTerminateSequenceResponseRequired(rmsBean.getRMVersion())) {
@@ -283,23 +275,16 @@
TerminateSequence terminateSequencePart = new TerminateSequence(rmNamespaceValue);
Identifier identifier = new Identifier(rmNamespaceValue);
- identifier.setIndentifer(sequenceId);
+ identifier.setIndentifer(rmsBean.getSequenceID());
terminateSequencePart.setIdentifier(identifier);
terminateRMMessage.setMessagePart(Sandesha2Constants.MessageParts.TERMINATE_SEQ, terminateSequencePart);
- terminateMessage.setProperty(MessageContext.TRANSPORT_IN, null); // no
- // need
- // for
- // an
- // incoming
- // transport
- // for
- // an
- // terminate
+ // no need for an incoming transport for a terminate
// message. If this is put, sender will look for an response.
-
+ terminateMessage.setProperty(MessageContext.TRANSPORT_IN, null);
+
// Ensure the correct token is used to secure the terminate sequence
- secureOutboundMessage(sequencePropertyKey, terminateMessage);
+ secureOutboundMessage(rmsBean, terminateMessage);
return terminateRMMessage;
}
@@ -313,14 +298,14 @@
* @return
* @throws AxisFault
*/
- public static RMMsgContext createCreateSeqResponseMsg(RMMsgContext createSeqMessage, String newSequenceID) throws AxisFault {
+ public static RMMsgContext createCreateSeqResponseMsg(RMMsgContext createSeqMessage, RMSequenceBean rmSequenceBean) throws AxisFault {
CreateSequence cs = (CreateSequence) createSeqMessage.getMessagePart(Sandesha2Constants.MessageParts.CREATE_SEQ);
String namespace = createSeqMessage.getRMNamespaceValue();
CreateSequenceResponse response = new CreateSequenceResponse(namespace);
Identifier identifier = new Identifier(namespace);
- identifier.setIndentifer(newSequenceID);
+ identifier.setIndentifer(rmSequenceBean.getSequenceID());
response.setIdentifier(identifier);
SequenceOffer offer = cs.getSequenceOffer();
@@ -351,12 +336,11 @@
String version = SpecSpecificConstants.getSpecVersionString(namespace);
String action = SpecSpecificConstants.getCreateSequenceResponseAction(version);
- return createResponseMsg(createSeqMessage, response,
- Sandesha2Constants.MessageParts.CREATE_SEQ_RESPONSE,
- newSequenceID, action);
+ return createResponseMsg(createSeqMessage, rmSequenceBean, response,
+ Sandesha2Constants.MessageParts.CREATE_SEQ_RESPONSE,action);
}
- public static RMMsgContext createTerminateSeqResponseMsg(RMMsgContext terminateSeqRMMsg) throws AxisFault {
+ public static RMMsgContext createTerminateSeqResponseMsg(RMMsgContext terminateSeqRMMsg, RMSequenceBean rmSequenceBean) throws AxisFault {
TerminateSequence terminateSequence = (TerminateSequence) terminateSeqRMMsg
.getMessagePart(Sandesha2Constants.MessageParts.TERMINATE_SEQ);
@@ -372,12 +356,11 @@
String version = SpecSpecificConstants.getSpecVersionString(namespace);
String action = SpecSpecificConstants.getTerminateSequenceResponseAction(version);
- return createResponseMsg(terminateSeqRMMsg, terminateSequenceResponse,
- Sandesha2Constants.MessageParts.TERMINATE_SEQ_RESPONSE,
- sequenceID, action);
+ return createResponseMsg(terminateSeqRMMsg, rmSequenceBean, terminateSequenceResponse,
+ Sandesha2Constants.MessageParts.TERMINATE_SEQ_RESPONSE, action);
}
- public static RMMsgContext createCloseSeqResponseMsg(RMMsgContext closeSeqRMMsg) throws AxisFault {
+ public static RMMsgContext createCloseSeqResponseMsg(RMMsgContext closeSeqRMMsg, RMSequenceBean rmSequenceBean) throws AxisFault {
CloseSequence closeSequence = (CloseSequence) closeSeqRMMsg
.getMessagePart(Sandesha2Constants.MessageParts.CLOSE_SEQUENCE);
@@ -393,13 +376,12 @@
String version = SpecSpecificConstants.getSpecVersionString(namespace);
String action = SpecSpecificConstants.getCloseSequenceResponseAction(version);
- return createResponseMsg(closeSeqRMMsg, closeSequenceResponse,
- Sandesha2Constants.MessageParts.CLOSE_SEQUENCE_RESPONSE,
- sequenceID, action);
+ return createResponseMsg(closeSeqRMMsg, rmSequenceBean, closeSequenceResponse,
+ Sandesha2Constants.MessageParts.CLOSE_SEQUENCE_RESPONSE, action);
}
- private static RMMsgContext createResponseMsg(RMMsgContext requestMsg, IOMRMPart part, int messagePartId,
- String sequenceID, String action) throws AxisFault {
+ private static RMMsgContext createResponseMsg(RMMsgContext requestMsg, RMSequenceBean rmSequenceBean, IOMRMPart part,
+ int messagePartId, String action) throws AxisFault {
MessageContext outMessage = Utils.createOutMessageContext(requestMsg.getMessageContext());
RMMsgContext responseRMMsg = new RMMsgContext(outMessage);
@@ -419,7 +401,7 @@
responseRMMsg.getMessageContext().setServerSide(true);
// Ensure the correct token is used to secure the message
- secureOutboundMessage(sequenceID, outMessage);
+ secureOutboundMessage(rmSequenceBean, outMessage);
return responseRMMsg;
}
@@ -431,7 +413,7 @@
* @param sequenceId
* @throws SandeshaException
*/
- public static void addAckMessage(RMMsgContext applicationMsg, RMSequenceBean rmBean, String sequencePropertyKey ,
+ public static void addAckMessage(RMMsgContext applicationMsg, RMSequenceBean rmBean,
String sequenceId, StorageManager storageManager)
throws SandeshaException {
if(log.isDebugEnabled())
@@ -482,7 +464,7 @@
}
// Ensure the message also contains the token that needs to be used
- secureOutboundMessage(sequencePropertyKey, applicationMsg.getMessageContext());
+ secureOutboundMessage(rmdBean, applicationMsg.getMessageContext());
if(log.isDebugEnabled())
log.debug("Exit: RMMsgCreator::addAckMessage");
@@ -537,20 +519,17 @@
return makeConnectionRMMessageCtx;
}
- private static void secureOutboundMessage(String sequenceKey, MessageContext message)
+ private static void secureOutboundMessage(RMSequenceBean rmBean, MessageContext message)
throws SandeshaException
{
if(log.isDebugEnabled()) log.debug("Entry: RMMsgCreator::secureOutboundMessage");
ConfigurationContext configCtx = message.getConfigurationContext();
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx, configCtx.getAxisConfiguration());
- SequencePropertyBeanMgr sequencePropMgr = storageManager.getSequencePropertyBeanMgr();
- SequencePropertyBean tokenBean = sequencePropMgr.retrieve(sequenceKey, Sandesha2Constants.SequenceProperties.SECURITY_TOKEN);
- if(tokenBean != null) {
+ if(rmBean.getSecurityTokenData() != null) {
if(log.isDebugEnabled()) log.debug("Securing outbound message");
SecurityManager secManager = SandeshaUtil.getSecurityManager(configCtx);
- SecurityToken token = secManager.recoverSecurityToken(tokenBean.getValue());
+ SecurityToken token = secManager.recoverSecurityToken(rmBean.getSecurityTokenData());
secManager.applySecurityToken(token, message);
}
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java?view=diff&rev=496282&r1=496281&r2=496282
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java Mon Jan 15 03:44:52 2007
@@ -34,10 +34,8 @@
import org.apache.sandesha2.security.SecurityToken;
import org.apache.sandesha2.storage.StorageManager;
import org.apache.sandesha2.storage.beanmanagers.RMDBeanMgr;
-import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
import org.apache.sandesha2.storage.beans.RMDBean;
import org.apache.sandesha2.storage.beans.RMSBean;
-import org.apache.sandesha2.storage.beans.SequencePropertyBean;
import org.apache.sandesha2.wsrm.CreateSequence;
/**
@@ -91,8 +89,6 @@
MessageContext createSeqContext = createSequenceMsg.getMessageContext();
ConfigurationContext configurationContext = createSeqContext.getConfigurationContext();
- SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropertyBeanMgr();
-
rmdBean.setServerCompletedMessages(new ArrayList());
rmdBean.setReplyToEPR(to.getAddress());
@@ -105,9 +101,7 @@
// Store the security token alongside the sequence
if(token != null) {
String tokenData = securityManager.getTokenRecoveryData(token);
- SequencePropertyBean tokenBean = new SequencePropertyBean(sequenceId,
- Sandesha2Constants.SequenceProperties.SECURITY_TOKEN, tokenData);
- seqPropMgr.insert(tokenBean);
+ rmdBean.setSecurityTokenData(tokenData);
}
RMDBeanMgr nextMsgMgr = storageManager.getRMDBeanMgr();
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=496282&r1=496281&r2=496282
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java Mon Jan 15 03:44:52 2007
@@ -247,8 +247,7 @@
return;
}
- RMMsgContext terminateRMMessage = RMMsgCreator.createTerminateSequenceMessage(referenceMessage, rmsBean, outSequenceId,
- sequencePropertyKey, storageManager);
+ RMMsgContext terminateRMMessage = RMMsgCreator.createTerminateSequenceMessage(referenceMessage, rmsBean, storageManager);
terminateRMMessage.setFlow(MessageContext.OUT_FLOW);
terminateRMMessage.setProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE, "true");
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/WSRMMessageSender.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/WSRMMessageSender.java?view=diff&rev=496282&r1=496281&r2=496282
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/WSRMMessageSender.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/WSRMMessageSender.java Mon Jan 15 03:44:52 2007
@@ -128,12 +128,9 @@
rmMsgCtx.addSOAPEnvelope();
// Ensure the outbound message us secured using the correct token
- String tokenData = SandeshaUtil.getSequenceProperty(internalSequenceID,
- Sandesha2Constants.SequenceProperties.SECURITY_TOKEN,
- storageManager);
- if(tokenData != null) {
+ if(getRMSBean().getSecurityTokenData() != null) {
SecurityManager secMgr = SandeshaUtil.getSecurityManager(configurationContext);
- SecurityToken token = secMgr.recoverSecurityToken(tokenData);
+ SecurityToken token = secMgr.recoverSecurityToken(getRMSBean().getSecurityTokenData());
secMgr.applySecurityToken(token, msgContext);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org