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