Author: mckierna
Date: Tue Jan 29 02:52:55 2008
New Revision: 616250
URL: http://svn.apache.org/viewvc?rev=616250&view=rev
Log:
See SANDESHA2-136
Modified:
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java
Modified:
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java?rev=616250&r1=616249&r2=616250&view=diff
==============================================================================
---
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
(original)
+++
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
Tue Jan 29 02:52:55 2008
@@ -54,6 +54,7 @@
import org.apache.sandesha2.util.RangeString;
import org.apache.sandesha2.util.SandeshaUtil;
import org.apache.sandesha2.util.SequenceManager;
+import org.apache.sandesha2.util.SpecSpecificConstants;
import org.apache.sandesha2.util.TerminateManager;
import org.apache.sandesha2.wsrm.Accept;
import org.apache.sandesha2.wsrm.CreateSequence;
@@ -155,7 +156,7 @@
CreateSequenceResponse createSeqResPart =
createSeqResponse.getCreateSequenceResponse();
- // OFFER PROCESSING
+ // OFFER PROCESSING
SequenceOffer offer = createSeqPart.getSequenceOffer();
if (offer != null) {
Accept accept = createSeqResPart.getAccept();
@@ -176,10 +177,37 @@
boolean offerAccepted =
offerAccepted(offeredSequenceID, context, createSeqRMMsg, storageManager);
+ RMSBean rMSBean = null;
+ //Before processing this offer any further we
need to perform some extra checks
+ //on the offered EP if WS-RM Spec 1.1 is being
used
+ if(offerAccepted &&
Sandesha2Constants.SPEC_VERSIONS.v1_1.equals(rmdBean.getRMVersion())){
+ Endpoint endpoint = offer.getEndpoint();
+ if (endpoint!=null) {
+ //Check to see if the offer
endpoint has a value of WSA Anonymous
+ String addressingNamespace =
(String) createSeqRMMsg.getProperty(AddressingConstants.WS_ADDRESSING_VERSION);
+
if(endpoint.equals(SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespace))){
+ //Don't accept the offer
+ if
(log.isDebugEnabled())
+
log.debug("Offer Refused as it included a WSA Anonymous endpoint");
+ offerAccepted = false;
+ } else {
+ rMSBean = new RMSBean();
+ //Set the offered EP
+
rMSBean.setOfferedEndPoint(endpoint.getEPR().getAddress());
+ }
+ } else {
+ //Don't accept the offer
+ if (log.isDebugEnabled())
+ log.debug("Offer
Refused as it included a null endpoint");
+ offerAccepted = false;
+ }
+ } else if (offerAccepted &&
Sandesha2Constants.SPEC_VERSIONS.v1_0.equals(rmdBean.getRMVersion())){
+ rMSBean = new RMSBean();
+ }
+
if (offerAccepted) {
// Setting the CreateSequence table
entry for the outgoing
// side.
- RMSBean rMSBean = new RMSBean();
rMSBean.setSequenceID(offeredSequenceID);
String outgoingSideInternalSequenceId =
SandeshaUtil
.getOutgoingSideInternalSequenceID(rmdBean.getSequenceID());
@@ -206,12 +234,6 @@
// Setting sequence properties for the
outgoing sequence.
// Only will be used by the server side
response path. Will
// be wasted properties for the client
side.
-
- Endpoint endpoint = offer.getEndpoint();
- if (endpoint!=null) {
- // setting the OfferedEndpoint
-
rMSBean.setOfferedEndPoint(endpoint.getEPR().getAddress());
- }
rmdBean.setOutboundInternalSequence(outgoingSideInternalSequenceId);
RMDBeanMgr rmdBeanMgr =
storageManager.getRMDBeanMgr();
Modified:
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java?rev=616250&r1=616249&r2=616250&view=diff
==============================================================================
---
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java
(original)
+++
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java
Tue Jan 29 02:52:55 2008
@@ -186,7 +186,8 @@
}
// Finally fall back to using an anonymous
endpoint
if (offeredEndpoint==null) {
- offeredEndpoint = new
EndpointReference(SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespace));
+ //The replyTo has already been set to a
MC anon with UUID and so will use that same one for the offered endpoint
+ offeredEndpoint =
rmsBean.getReplyToEndpointReference();
}
Endpoint endpoint = new Endpoint
(offeredEndpoint, rmNamespaceValue, addressingNamespace);
offerPart.setEndpoint(endpoint);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]