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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]