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

svn commit: r440999 - in /webservices/sandesha/trunk/java: config/ src/org/apache/sandesha2/ src/org/apache/sandesha2/msgprocessors/ src/org/apache/sandesha2/util/ src/org/apache/sandesha2/wsrm/ test-resources/ test/src/org/apache/sandesha2/security/

Author: chamikara
Date: Thu Sep  7 00:04:35 2006
New Revision: 440999

URL: http://svn.apache.org/viewvc?view=rev&rev=440999
Log:
Patch from Matt on security support for the WSRM 1.1 spec.

Modified:
    webservices/sandesha/trunk/java/config/module.xml
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MsgInitializer.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java
    webservices/sandesha/trunk/java/test-resources/test.module.xml
    webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/security/SecurityTest.java
    webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/security/UnitTestSecurityManager.java

Modified: webservices/sandesha/trunk/java/config/module.xml
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/config/module.xml?view=diff&rev=440999&r1=440998&r2=440999
==============================================================================
--- webservices/sandesha/trunk/java/config/module.xml (original)
+++ webservices/sandesha/trunk/java/config/module.xml Thu Sep  7 00:04:35 2006
@@ -45,7 +45,7 @@
         <actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement</actionMapping>
         <actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse</actionMapping>
 
-        <!-- namespaces for the 2005-10 spec -->
+        <!-- namespaces for the 2006-08 spec -->
         
         <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200608/SequenceAcknowledgement</actionMapping>
         <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200608/CreateSequenceResponse</actionMapping>
@@ -58,7 +58,7 @@
         <!-- namespaces for the 2005-02 spec -->
         <actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</actionMapping>
 
-        <!-- namespaces for the 2005-10 spec -->
+        <!-- namespaces for the 2006-08 spec -->
         <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200608/CreateSequence</actionMapping>
         <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200608/TerminateSequence</actionMapping>
         <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200608/CloseSequence</actionMapping>

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=440999&r1=440998&r2=440999
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java Thu Sep  7 00:04:35 2006
@@ -154,6 +154,8 @@
 		String MESSAGE_PENDING = "MessagePending";
 		
 		String PENDING = "pending";
+		
+		String USES_SEQUENCE_STR = "UsesSequenceSTR";
 	}
 
 	public interface WSA {
@@ -215,7 +217,9 @@
 		
 		int ACK_REQUEST = 15;
 
-		int MAX_MSG_PART_ID = 15;
+		int USES_SEQUENCE_STR = 16;
+
+		int MAX_MSG_PART_ID = 16;
 	}
 
 	public interface SequenceProperties {

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=440999&r1=440998&r2=440999
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java Thu Sep  7 00:04:35 2006
@@ -75,6 +75,7 @@
 import org.apache.sandesha2.wsrm.Sequence;
 import org.apache.sandesha2.wsrm.SequenceAcknowledgement;
 import org.apache.sandesha2.wsrm.SequenceOffer;
+import org.apache.sandesha2.wsrm.UsesSequenceSTR;
 
 /**
  * Responsible for processing an incoming Application message.
@@ -812,6 +813,13 @@
 		if(token != null) {
 			SecurityManager secManager = SandeshaUtil.getSecurityManager(configCtx);
 			createSeqBean.setSecurityTokenData(secManager.getTokenRecoveryData(token));
+			
+			// If we are using token based security, and the 1.1 spec level, then we
+			// should introduce a UsesSequenceSTR header into the message.
+			if(createSequencePart.getNamespaceValue().equals(Sandesha2Constants.SPEC_2006_08.NS_URI)) {
+				UsesSequenceSTR header = new UsesSequenceSTR(null, Sandesha2Constants.SPEC_2006_08.NS_URI);
+				header.toSOAPEnvelope(createSeqMsg.getEnvelope());
+			}
 		}
 		
 		createSeqMgr.insert(createSeqBean);

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=440999&r1=440998&r2=440999
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java Thu Sep  7 00:04:35 2006
@@ -103,8 +103,10 @@
 			MessageContext msgcontext = createSeqRMMsg.getMessageContext();
 			token = secManager.getSecurityToken(theSTR, msgcontext);
 			
-			//TODO get the element from the SOAP Envelope
-//			secManager.checkProofOfPossession(token, createSeqPart.getOMElement(), msgcontext);
+			// The create must be the body part of this message, so we check the
+			// security of that element.
+			OMElement body = msgcontext.getEnvelope().getBody();
+			secManager.checkProofOfPossession(token, body, msgcontext);
 		}
 
 		MessageContext outMessage = null;

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MsgInitializer.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MsgInitializer.java?view=diff&rev=440999&r1=440998&r2=440999
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MsgInitializer.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MsgInitializer.java Thu Sep  7 00:04:35 2006
@@ -139,6 +139,11 @@
 					.getCloseSequenceResponse());
 			rmNamespace = elements.getCloseSequenceResponse().getNamespaceValue();
 		}
+		
+		if (elements.getUsesSequenceSTR() != null) {
+			rmMsgContext.setMessagePart(Sandesha2Constants.MessageParts.USES_SEQUENCE_STR, elements
+					.getUsesSequenceSTR());
+		}
 
 		rmMsgContext.setRMNamespaceValue(rmNamespace);
 

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java?view=diff&rev=440999&r1=440998&r2=440999
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java Thu Sep  7 00:04:35 2006
@@ -292,7 +292,11 @@
 		if(rmNamespace.equals(Sandesha2Constants.SPEC_2005_02.NS_URI)) {
 			return Sandesha2Constants.SPEC_2005_02.SEC_NS_URI;
 		}
-		// Other spec levels do not have security interop defined (yet)
+
+		if(rmNamespace.equals(Sandesha2Constants.SPEC_2006_08.NS_URI)) {
+			return Sandesha2Constants.SPEC_2006_08.SEC_NS_URI;
+		}
+
 		return null;
 	}
 }

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java?view=diff&rev=440999&r1=440998&r2=440999
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java Thu Sep  7 00:04:35 2006
@@ -55,6 +55,7 @@
 	private CloseSequence closeSequence = null;
 	private CloseSequenceResponse closeSequenceResponse = null;
 	private AckRequested ackRequested = null;
+	private UsesSequenceSTR usesSequenceSTR = null;
 	private String rmNamespaceValue = null;
 	private String addressingNamespaceValue = null;
 	
@@ -76,7 +77,7 @@
 		SOAPFactory factory;
 
 		//Yep, I know. Could hv done it directly :D (just to make it consistent)
-		if (envelope.getNamespace().getName().equals(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI))
+		if (envelope.getNamespace().getNamespaceURI().equals(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI))
 			factory = SOAPAbstractFactory.getSOAPFactory(Sandesha2Constants.SOAPVersion.v1_1);
 		else
 			factory = SOAPAbstractFactory.getSOAPFactory(Sandesha2Constants.SOAPVersion.v1_2);
@@ -183,6 +184,15 @@
 			
 			sequenceAcknowledgements.add(sequenceAcknowledgement);
 		}
+
+		OMElement usesSequenceSTRElement = envelope.getHeader()
+		.getFirstChildWithName(
+				new QName(rmNamespaceValue,
+						Sandesha2Constants.WSRM_COMMON.USES_SEQUENCE_STR));
+		if (usesSequenceSTRElement != null) {
+			usesSequenceSTR = new UsesSequenceSTR(factory, rmNamespaceValue);
+			usesSequenceSTR.fromOMElement(envelope.getHeader());
+		}
 	}
 
 	public SOAPEnvelope toSOAPEnvelope(SOAPEnvelope envelope) throws SandeshaException  {
@@ -355,6 +365,14 @@
 
 	public void setCloseSequenceResponse(CloseSequenceResponse closeSequenceResponse) {
 		this.closeSequenceResponse = closeSequenceResponse;
+	}
+	
+	public UsesSequenceSTR getUsesSequenceSTR() {
+		return usesSequenceSTR;
+	}
+	
+	public void setUsesSequenceSTR(UsesSequenceSTR header) {
+		usesSequenceSTR = header;
 	}
 
 	public String getAddressingNamespaceValue() {

Modified: webservices/sandesha/trunk/java/test-resources/test.module.xml
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/test-resources/test.module.xml?view=diff&rev=440999&r1=440998&r2=440999
==============================================================================
--- webservices/sandesha/trunk/java/test-resources/test.module.xml (original)
+++ webservices/sandesha/trunk/java/test-resources/test.module.xml Thu Sep  7 00:04:35 2006
@@ -47,11 +47,11 @@
         <actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement</actionMapping>
         <actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse</actionMapping>
 
-        <!-- namespaces for the 2005-10 spec -->
+        <!-- namespaces for the 2006-08 spec -->
         
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/SequenceAcknowledgement</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/CreateSequenceResponse</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/AckRequested</actionMapping>
+        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200608/SequenceAcknowledgement</actionMapping>
+        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200608/CreateSequenceResponse</actionMapping>
+        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200608/AckRequested</actionMapping>
      </operation>
  
      <operation name="RMInOutOperation" mep="http://www.w3.org/2004/08/wsdl/in-out">
@@ -60,378 +60,12 @@
         <!-- namespaces for the 2005-02 spec -->
         <actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</actionMapping>
 
-        <!-- namespaces for the 2005-10 spec -->
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/CreateSequence</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/TerminateSequence</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/CloseSequence</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/TerminateSequenceResponse</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/CloseSequenceResponse</actionMapping>
-
-    </operation>
-
-   <!-- Database connection parameters -->
-   <parameter name="sandesha2.db.conn.id" locked="false">jdbc:derby:SANDESHA2DB;create=true</parameter>
-   <parameter name="sandesha2.db.driver" locked="false">org.apache.derby.jdbc.EmbeddedDriver</parameter>
-   <parameter name="sandesha2.db.sql.dialect" locked="false">org.hibernate.dialect.DerbyDialect</parameter>
-   <parameter name="sandesha2.db.username" locked="false"></parameter>
-   <parameter name="sandesha2.db.password" locked="false"></parameter>  
-   <parameter name="sandesha2.db.create.mode" locked="false">update</parameter> 
-
-   <supported-policy-namespaces namespaces="http://ws.apache.org/sandesha2/policy" />
-
-   <wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" 
-	xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
-    xmlns:wsrm="http://ws.apache.org/sandesha2/policy" wsu:Id="RMPolicy">
-         
-      <wsrm:AcknowledgementInterval>3000</wsrm:AcknowledgementInterval>
-       
-      <wsrm:RetransmissionInterval>6000</wsrm:RetransmissionInterval>
-      
-      <!-- '-1' conveys that there is no limit to the max. number of retransmissions.-->
-      <wsrm:MaximumRetransmissionCount>10</wsrm:MaximumRetransmissionCount>
-      
-      <wsrm:ExponentialBackoff>false</wsrm:ExponentialBackoff>
-      
-      <wsrm:InactivityTimeout>60</wsrm:InactivityTimeout>
-           
-      <wsrm:InactivityTimeoutMeasure>seconds</wsrm:InactivityTimeoutMeasure>
-      
-      <wsrm:InvokeInOrder>true</wsrm:InvokeInOrder>
-      
-      <!-- These will not be overriden by service level policies -->
-      <wsrm:MessageTypesToDrop>none</wsrm:MessageTypesToDrop>  
-                              
-      <!-- This will not be overriden by service level policies -->
-      <wsrm:StorageManagers>
-                   
-          <wsrm:InMemoryStorageManager>
-              org.apache.sandesha2.storage.inmemory.InMemoryStorageManager
-          </wsrm:InMemoryStorageManager> 
-
-          <wsrm:PermanentStorageManager>
-              org.apache.sandesha2.storage.inmemory.InMemoryStorageManager
-          </wsrm:PermanentStorageManager> 
-      
-      </wsrm:StorageManagers>
-      
-      <!-- This will not be overriden by service level policies -->
-      <wsrm:SecurityManager>org.apache.sandesha2.security.UnitTestSecurityManager</wsrm:SecurityManager>
-   
-</wsp:Policy>
-
-</module>
-<!-- THIS IS A TEST RESOURCE - the correct module.xml file can be found in the 'config' directory. -->
-
-<module name="sandesha2" class="org.apache.sandesha2.SandeshaModule">
-
-    <Description>
-        This module implements WS-ReliableMessaging for Axis2. This implements both the WSRM submitted spec and the new spec being developed under the OASIS WSRX group.
-    </Description>
-    
-    <inflow>
-        <handler name="SandeshaGlobalInHandler" class="org.apache.sandesha2.handlers.SandeshaGlobalInHandler">
-            <!-- Global In handler should come before instance dispatching -->
-            <order phase="Dispatch" before="InstanceDispatcher" />
-        </handler> 
-        <handler name="SandeshaInHandler" class="org.apache.sandesha2.handlers.SandeshaInHandler">
-            <order phase="RMPhase"/>
-        </handler>
-    </inflow>
-
-    <outflow>        
-        <handler name="SandeshaOutHandler" class="org.apache.sandesha2.handlers.SandeshaOutHandler">
-            <order phase="RMPhase"/>
-        </handler>   
-    </outflow>
-    
-    <INfaultflow>        
-        <handler name="SandeshaGlobalInHandler" class="org.apache.sandesha2.handlers.SandeshaGlobalInHandler">
-            <!-- Global In handler should come before instance dispatching -->
-            <order phase="Dispatch" before="InstanceDispatcher" />
-        </handler> 
-        <handler name="SandeshaInHandler" class="org.apache.sandesha2.handlers.SandeshaInHandler">
-            <order phase="RMPhase"/>
-        </handler>
-    </INfaultflow>
-    
-    <OUTfaultflow>        
-        <handler name="SandeshaOutHandler" class="org.apache.sandesha2.handlers.SandeshaOutHandler">
-            <order phase="RMPhase"/>
-        </handler>   
-    </OUTfaultflow>
-
-    <operation name="RMInOnlyOperation" mep="http://www.w3.org/2004/08/wsdl/in-only">
-        <messageReceiver class="org.apache.sandesha2.msgreceivers.RMMessageReceiver"/>
-        
-        <!-- namespaces for the 2005-02 spec -->
-        
-        <actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/TerminateSequence</actionMapping>
-        <actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement</actionMapping>
-        <actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse</actionMapping>
-
-        <!-- namespaces for the 2005-10 spec -->
-        
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/SequenceAcknowledgement</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/CreateSequenceResponse</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/AckRequested</actionMapping>
-     </operation>
- 
-     <operation name="RMInOutOperation" mep="http://www.w3.org/2004/08/wsdl/in-out">
-        <messageReceiver class="org.apache.sandesha2.msgreceivers.RMMessageReceiver"/>
-        
-        <!-- namespaces for the 2005-02 spec -->
-        <actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</actionMapping>
-
-        <!-- namespaces for the 2005-10 spec -->
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/CreateSequence</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/TerminateSequence</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/CloseSequence</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/TerminateSequenceResponse</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/CloseSequenceResponse</actionMapping>
-
-    </operation>
-
-   <!-- Database connection parameters -->
-   <parameter name="sandesha2.db.conn.id" locked="false">jdbc:derby:SANDESHA2DB;create=true</parameter>
-   <parameter name="sandesha2.db.driver" locked="false">org.apache.derby.jdbc.EmbeddedDriver</parameter>
-   <parameter name="sandesha2.db.sql.dialect" locked="false">org.hibernate.dialect.DerbyDialect</parameter>
-   <parameter name="sandesha2.db.username" locked="false"></parameter>
-   <parameter name="sandesha2.db.password" locked="false"></parameter>  
-   <parameter name="sandesha2.db.create.mode" locked="false">update</parameter> 
-
-   <supported-policy-namespaces namespaces="http://ws.apache.org/sandesha2/policy" />
-
-   <wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" 
-	xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
-    xmlns:wsrm="http://ws.apache.org/sandesha2/policy" wsu:Id="RMPolicy">
-         
-      <wsrm:AcknowledgementInterval>3000</wsrm:AcknowledgementInterval>
-       
-      <wsrm:RetransmissionInterval>6000</wsrm:RetransmissionInterval>
-      
-      <!-- '-1' conveys that there is no limit to the max. number of retransmissions.-->
-      <wsrm:MaximumRetransmissionCount>10</wsrm:MaximumRetransmissionCount>
-      
-      <wsrm:ExponentialBackoff>false</wsrm:ExponentialBackoff>
-      
-      <wsrm:InactivityTimeout>60</wsrm:InactivityTimeout>
-           
-      <wsrm:InactivityTimeoutMeasure>seconds</wsrm:InactivityTimeoutMeasure>
-      
-      <wsrm:InvokeInOrder>true</wsrm:InvokeInOrder>
-      
-      <!-- These will not be overriden by service level policies -->
-      <wsrm:MessageTypesToDrop>none</wsrm:MessageTypesToDrop>  
-                              
-      <!-- This will not be overriden by service level policies -->
-      <wsrm:StorageManagers>
-                   
-          <wsrm:InMemoryStorageManager>
-              org.apache.sandesha2.storage.inmemory.InMemoryStorageManager
-          </wsrm:InMemoryStorageManager> 
-
-          <wsrm:PermanentStorageManager>
-              org.apache.sandesha2.storage.inmemory.InMemoryStorageManager
-          </wsrm:PermanentStorageManager> 
-      
-      </wsrm:StorageManagers>
-      
-      <!-- This will not be overriden by service level policies -->
-      <wsrm:SecurityManager>org.apache.sandesha2.security.UnitTestSecurityManager</wsrm:SecurityManager>
-   
-</wsp:Policy>
-
-</module>
-<!-- THIS IS A TEST RESOURCE - the correct module.xml file can be found in the 'config' directory. -->
-
-<module name="sandesha2" class="org.apache.sandesha2.SandeshaModule">
-
-    <Description>
-        This module implements WS-ReliableMessaging for Axis2. This implements both the WSRM submitted spec and the new spec being developed under the OASIS WSRX group.
-    </Description>
-    
-    <inflow>
-        <handler name="SandeshaGlobalInHandler" class="org.apache.sandesha2.handlers.SandeshaGlobalInHandler">
-            <!-- Global In handler should come before instance dispatching -->
-            <order phase="Dispatch" before="InstanceDispatcher" />
-        </handler> 
-        <handler name="SandeshaInHandler" class="org.apache.sandesha2.handlers.SandeshaInHandler">
-            <order phase="RMPhase"/>
-        </handler>
-    </inflow>
-
-    <outflow>        
-        <handler name="SandeshaOutHandler" class="org.apache.sandesha2.handlers.SandeshaOutHandler">
-            <order phase="RMPhase"/>
-        </handler>   
-    </outflow>
-    
-    <INfaultflow>        
-        <handler name="SandeshaGlobalInHandler" class="org.apache.sandesha2.handlers.SandeshaGlobalInHandler">
-            <!-- Global In handler should come before instance dispatching -->
-            <order phase="Dispatch" before="InstanceDispatcher" />
-        </handler> 
-        <handler name="SandeshaInHandler" class="org.apache.sandesha2.handlers.SandeshaInHandler">
-            <order phase="RMPhase"/>
-        </handler>
-    </INfaultflow>
-    
-    <OUTfaultflow>        
-        <handler name="SandeshaOutHandler" class="org.apache.sandesha2.handlers.SandeshaOutHandler">
-            <order phase="RMPhase"/>
-        </handler>   
-    </OUTfaultflow>
-
-    <operation name="RMInOnlyOperation" mep="http://www.w3.org/2004/08/wsdl/in-only">
-        <messageReceiver class="org.apache.sandesha2.msgreceivers.RMMessageReceiver"/>
-        
-        <!-- namespaces for the 2005-02 spec -->
-        
-        <actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/TerminateSequence</actionMapping>
-        <actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement</actionMapping>
-        <actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse</actionMapping>
-
-        <!-- namespaces for the 2005-10 spec -->
-        
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/SequenceAcknowledgement</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/CreateSequenceResponse</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/AckRequested</actionMapping>
-     </operation>
- 
-     <operation name="RMInOutOperation" mep="http://www.w3.org/2004/08/wsdl/in-out">
-        <messageReceiver class="org.apache.sandesha2.msgreceivers.RMMessageReceiver"/>
-        
-        <!-- namespaces for the 2005-02 spec -->
-        <actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</actionMapping>
-
-        <!-- namespaces for the 2005-10 spec -->
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/CreateSequence</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/TerminateSequence</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/CloseSequence</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/TerminateSequenceResponse</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/CloseSequenceResponse</actionMapping>
-
-    </operation>
-
-   <!-- Database connection parameters -->
-   <parameter name="sandesha2.db.conn.id" locked="false">jdbc:derby:SANDESHA2DB;create=true</parameter>
-   <parameter name="sandesha2.db.driver" locked="false">org.apache.derby.jdbc.EmbeddedDriver</parameter>
-   <parameter name="sandesha2.db.sql.dialect" locked="false">org.hibernate.dialect.DerbyDialect</parameter>
-   <parameter name="sandesha2.db.username" locked="false"></parameter>
-   <parameter name="sandesha2.db.password" locked="false"></parameter>  
-   <parameter name="sandesha2.db.create.mode" locked="false">update</parameter> 
-
-   <supported-policy-namespaces namespaces="http://ws.apache.org/sandesha2/policy" />
-
-   <wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" 
-	xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
-    xmlns:wsrm="http://ws.apache.org/sandesha2/policy" wsu:Id="RMPolicy">
-         
-      <wsrm:AcknowledgementInterval>3000</wsrm:AcknowledgementInterval>
-       
-      <wsrm:RetransmissionInterval>6000</wsrm:RetransmissionInterval>
-      
-      <!-- '-1' conveys that there is no limit to the max. number of retransmissions.-->
-      <wsrm:MaximumRetransmissionCount>10</wsrm:MaximumRetransmissionCount>
-      
-      <wsrm:ExponentialBackoff>false</wsrm:ExponentialBackoff>
-      
-      <wsrm:InactivityTimeout>60</wsrm:InactivityTimeout>
-           
-      <wsrm:InactivityTimeoutMeasure>seconds</wsrm:InactivityTimeoutMeasure>
-      
-      <wsrm:InvokeInOrder>true</wsrm:InvokeInOrder>
-      
-      <!-- These will not be overriden by service level policies -->
-      <wsrm:MessageTypesToDrop>none</wsrm:MessageTypesToDrop>  
-                              
-      <!-- This will not be overriden by service level policies -->
-      <wsrm:StorageManagers>
-                   
-          <wsrm:InMemoryStorageManager>
-              org.apache.sandesha2.storage.inmemory.InMemoryStorageManager
-          </wsrm:InMemoryStorageManager> 
-
-          <wsrm:PermanentStorageManager>
-              org.apache.sandesha2.storage.inmemory.InMemoryStorageManager
-          </wsrm:PermanentStorageManager> 
-      
-      </wsrm:StorageManagers>
-      
-      <!-- This will not be overriden by service level policies -->
-      <wsrm:SecurityManager>org.apache.sandesha2.security.UnitTestSecurityManager</wsrm:SecurityManager>
-   
-</wsp:Policy>
-
-</module>
-<!-- THIS IS A TEST RESOURCE - the correct module.xml file can be found in the 'config' directory. -->
-
-<module name="sandesha2" class="org.apache.sandesha2.SandeshaModule">
-
-    <Description>
-        This module implements WS-ReliableMessaging for Axis2. This implements both the WSRM submitted spec and the new spec being developed under the OASIS WSRX group.
-    </Description>
-    
-    <inflow>
-        <handler name="SandeshaGlobalInHandler" class="org.apache.sandesha2.handlers.SandeshaGlobalInHandler">
-            <!-- Global In handler should come before instance dispatching -->
-            <order phase="Dispatch" before="InstanceDispatcher" />
-        </handler> 
-        <handler name="SandeshaInHandler" class="org.apache.sandesha2.handlers.SandeshaInHandler">
-            <order phase="RMPhase"/>
-        </handler>
-    </inflow>
-
-    <outflow>        
-        <handler name="SandeshaOutHandler" class="org.apache.sandesha2.handlers.SandeshaOutHandler">
-            <order phase="RMPhase"/>
-        </handler>   
-    </outflow>
-    
-    <INfaultflow>        
-        <handler name="SandeshaGlobalInHandler" class="org.apache.sandesha2.handlers.SandeshaGlobalInHandler">
-            <!-- Global In handler should come before instance dispatching -->
-            <order phase="Dispatch" before="InstanceDispatcher" />
-        </handler> 
-        <handler name="SandeshaInHandler" class="org.apache.sandesha2.handlers.SandeshaInHandler">
-            <order phase="RMPhase"/>
-        </handler>
-    </INfaultflow>
-    
-    <OUTfaultflow>        
-        <handler name="SandeshaOutHandler" class="org.apache.sandesha2.handlers.SandeshaOutHandler">
-            <order phase="RMPhase"/>
-        </handler>   
-    </OUTfaultflow>
-
-    <operation name="RMInOnlyOperation" mep="http://www.w3.org/2004/08/wsdl/in-only">
-        <messageReceiver class="org.apache.sandesha2.msgreceivers.RMMessageReceiver"/>
-        
-        <!-- namespaces for the 2005-02 spec -->
-        
-        <actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/TerminateSequence</actionMapping>
-        <actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement</actionMapping>
-        <actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse</actionMapping>
-
-        <!-- namespaces for the 2005-10 spec -->
-        
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/SequenceAcknowledgement</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/CreateSequenceResponse</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/AckRequested</actionMapping>
-     </operation>
- 
-     <operation name="RMInOutOperation" mep="http://www.w3.org/2004/08/wsdl/in-out">
-        <messageReceiver class="org.apache.sandesha2.msgreceivers.RMMessageReceiver"/>
-        
-        <!-- namespaces for the 2005-02 spec -->
-        <actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</actionMapping>
-
-        <!-- namespaces for the 2005-10 spec -->
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/CreateSequence</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/TerminateSequence</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/CloseSequence</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/TerminateSequenceResponse</actionMapping>
-        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200602/CloseSequenceResponse</actionMapping>
+        <!-- namespaces for the 2006-08 spec -->
+        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200608/CreateSequence</actionMapping>
+        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200608/TerminateSequence</actionMapping>
+        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200608/CloseSequence</actionMapping>
+        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200608/TerminateSequenceResponse</actionMapping>
+        <actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200608/CloseSequenceResponse</actionMapping>
 
     </operation>
 

Modified: webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/security/SecurityTest.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/security/SecurityTest.java?view=diff&rev=440999&r1=440998&r2=440999
==============================================================================
--- webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/security/SecurityTest.java (original)
+++ webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/security/SecurityTest.java Thu Sep  7 00:04:35 2006
@@ -26,6 +26,7 @@
 import org.apache.axis2.context.ConfigurationContextFactory;
 import org.apache.axis2.context.MessageContextConstants;
 import org.apache.axis2.transport.http.SimpleHTTPServer;
+import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.sandesha2.SandeshaTestCase;
 import org.apache.sandesha2.client.SandeshaClient;
 import org.apache.sandesha2.client.SandeshaClientConstants;
@@ -71,9 +72,17 @@
 		Thread.sleep(300);
 		super.tearDown();
 	}
+	
+	// Test the create sequence flow for the 2 spec versions
+	public void testCreateSequence()
+	throws Exception
+	{
+		createSequence(Sandesha2Constants.SPEC_VERSIONS.v1_0);
+		createSequence(Sandesha2Constants.SPEC_VERSIONS.v1_1);
+	}
 
 	// Check that we can send a create sequence that includes a token reference.
-	public void testCreateSequence() throws Exception {
+	public void createSequence(String spec) throws Exception {
 		String to = "http://127.0.0.1:" + serverPort + "/axis2/services/RMSampleService";
 
 		String repoPath = "target" + File.separator + "repos" + File.separator + "secure-client";
@@ -88,6 +97,7 @@
 		clientOptions.setTo(new EndpointReference (to));
 		clientOptions.setProperty(MessageContextConstants.TRANSPORT_URL,to);
 		clientOptions.setProperty(SandeshaClientConstants.SEQUENCE_KEY,sequenceKey);
+		clientOptions.setProperty(SandeshaClientConstants.RM_SPEC_VERSION, spec);
 		serviceClient.setOptions(clientOptions);
 		
 		SandeshaClient.createSequence(serviceClient,false);

Modified: webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/security/UnitTestSecurityManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/security/UnitTestSecurityManager.java?view=diff&rev=440999&r1=440998&r2=440999
==============================================================================
--- webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/security/UnitTestSecurityManager.java (original)
+++ webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/security/UnitTestSecurityManager.java Thu Sep  7 00:04:35 2006
@@ -58,7 +58,7 @@
 	{
 		OMElement reference = theSTR.getFirstChildWithName(new QName(secNamespace, "Reference"));
 		String securityTokenURI = reference.getAttributeValue(new QName("URI"));
-		String key = securityTokenURI.substring(10);
+		String key = securityTokenURI;
 		return (SecurityToken) tokens.get(key);
 	}
 



---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org