You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ru...@apache.org on 2006/09/23 05:20:05 UTC

svn commit: r449147 - in /webservices/axis2/trunk/java/modules: integration/test/org/apache/axis2/security/ samples/ security/src/META-INF/ security/src/org/apache/rampart/ security/src/org/apache/rampart/builder/ security/src/org/apache/rampart/handle...

Author: ruchithf
Date: Fri Sep 22 20:20:04 2006
New Revision: 449147

URL: http://svn.apache.org/viewvc?view=rev&rev=449147
Log:
Integrated the new handlers into rampart
Get rid of a few sysouts
Prevent building hte security sample since it should not be released with Axis2 release - will be available in the Rampart release


Modified:
    webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/security/InteropTestBase.java
    webservices/axis2/trunk/java/modules/samples/maven.xml
    webservices/axis2/trunk/java/modules/security/src/META-INF/module.xml
    webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/MessageBuilder.java
    webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartEngine.java
    webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartMessageData.java
    webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/builder/SymmetricBindingBuilder.java
    webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/handler/RampartReceiver.java
    webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/MessageBuilderTestBase.java
    webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/TransportBindingBuilderTest.java

Modified: webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/security/InteropTestBase.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/security/InteropTestBase.java?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/security/InteropTestBase.java (original)
+++ webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/security/InteropTestBase.java Fri Sep 22 20:20:04 2006
@@ -120,8 +120,8 @@
             AddressingConstants.Final.WSA_NAMESPACE;
 
     private String targetEpr = "http://127.0.0.1:" +
-//            5556 +
-            UtilServer.TESTING_PORT +
+            5556 +
+//            UtilServer.TESTING_PORT +
             "/axis2/services/PingPort";
 
     public InteropTestBase() {

Modified: webservices/axis2/trunk/java/modules/samples/maven.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/samples/maven.xml?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/samples/maven.xml (original)
+++ webservices/axis2/trunk/java/modules/samples/maven.xml Fri Sep 22 20:20:04 2006
@@ -39,7 +39,7 @@
         <attainGoal name="version"/>
         <attainGoal name="mtomSample"/>
         <attainGoal name="groovy"/>
-        <attainGoal name="securitySample"/>
+<!--        <attainGoal name="securitySample"/> -->
         <attainGoal name="sgccalculator"/>
         <attainGoal name="eventing"/>
     </goal>

Modified: webservices/axis2/trunk/java/modules/security/src/META-INF/module.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/src/META-INF/module.xml?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/security/src/META-INF/module.xml (original)
+++ webservices/axis2/trunk/java/modules/security/src/META-INF/module.xml Fri Sep 22 20:20:04 2006
@@ -1,13 +1,24 @@
 <module name="rampart" class="org.apache.rampart.Rampart">
-	    <Description>This module provides the WS-Security functionalities for Axis2, based on Apache WSS4J and Apache XML-Security implementations</Description>
+
+    <Description>This module provides the WS-Security and WS-SecureConversation 
+    functionalities for Axis2, based on Apache WSS4J, Apache XML-Security 
+    and Apache Rahas implementations.
+	</Description>
+	    
     <inflow>
-        <handler name="SecurityInHandler" class="org.apache.rampart.handler.WSDoAllReceiver">
+        <handler name="PolicyBasedSecurityInHandler" class="org.apache.rampart.handler.RampartReceiver">
             <order phase="Security" phaseFirst="true"/>
         </handler>
+        <handler name="SecurityInHandler" class="org.apache.rampart.handler.WSDoAllReceiver">
+            <order phase="Security"/>
+        </handler>
     </inflow>
 
     <outflow>
         <handler name="SecurityOutHandler" class="org.apache.rampart.handler.WSDoAllSender">
+            <order phase="Security"/>
+        </handler>
+        <handler name="PolicyBasedSecurityOutHandler" class="org.apache.rampart.handler.RampartSender">
             <order phase="Security" phaseLast="true"/>
         </handler>
     </outflow>

Modified: webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/MessageBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/MessageBuilder.java?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/MessageBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/MessageBuilder.java Fri Sep 22 20:20:04 2006
@@ -33,12 +33,14 @@
     
     public void build(MessageContext msgCtx) throws WSSPolicyException,
             RampartException, WSSecurityException, AxisFault {
-        
 
         RampartMessageData rmd = new RampartMessageData(msgCtx, true);
         
-//      Nothing to do to handle the other bindings
         RampartPolicyData rpd = rmd.getPolicyData();
+        if(rpd == null) {
+            return;
+        }
+        
         if(rpd.isTransportBinding()) {
             log.debug("Building transport binding");
             TransportBindingBuilder building = new TransportBindingBuilder();

Modified: webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartEngine.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartEngine.java?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartEngine.java (original)
+++ webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartEngine.java Fri Sep 22 20:20:04 2006
@@ -35,7 +35,9 @@
         
         RampartMessageData rmd = new RampartMessageData(msgCtx, false);
         RampartPolicyData rpd = rmd.getPolicyData();
-        
+        if(rpd == null) {
+            return null;
+        }
         Vector results = null;
         
         WSSecurityEngine engine = new WSSecurityEngine();

Modified: webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartMessageData.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartMessageData.java?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartMessageData.java (original)
+++ webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/RampartMessageData.java Fri Sep 22 20:20:04 2006
@@ -187,11 +187,13 @@
             }
             
             
-            List it = (List)this.servicePolicy.getAlternatives().next();
-            
-            //Process policy and build policy data
-            this.policyData = RampartPolicyBuilder.build(it);
+            if(this.servicePolicy != null){
+                List it = (List)this.servicePolicy.getAlternatives().next();
 
+                //Process policy and build policy data
+                this.policyData = RampartPolicyBuilder.build(it);
+            }
+            
             this.isClientSide = !msgCtx.isServerSide();
             this.sender = sender;
             
@@ -498,8 +500,11 @@
      * @return
      */
     public static String getOperationPolicyKey(MessageContext msgCtx) {
-        return createPolicyKey(msgCtx.getAxisService().getName(), 
-                msgCtx.getAxisOperation().getName());
+        if(msgCtx.getAxisOperation() != null) {
+            return createPolicyKey(msgCtx.getAxisService().getName(), 
+                    msgCtx.getAxisOperation().getName());
+        }
+        return null;
     }
 
     public static String getServicePolicyKey(MessageContext msgCtx) {

Modified: webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/builder/SymmetricBindingBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/builder/SymmetricBindingBuilder.java?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/builder/SymmetricBindingBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/builder/SymmetricBindingBuilder.java Fri Sep 22 20:20:04 2006
@@ -469,6 +469,8 @@
                 
                 log.debug("SignatureToken is a SecureConversationToken");
                 
+                //TODO check for an existing token and use it 
+                
                 if(rmd.getSecConvTokenId() == null) {
                 
                     log.debug("No SecureConversationToken found, " +

Modified: webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/handler/RampartReceiver.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/handler/RampartReceiver.java?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/handler/RampartReceiver.java (original)
+++ webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/handler/RampartReceiver.java Fri Sep 22 20:20:04 2006
@@ -16,6 +16,7 @@
 
 package org.apache.rampart.handler;
 
+import org.apache.axiom.om.impl.dom.jaxp.DocumentBuilderFactoryImpl;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.description.HandlerDescription;
@@ -23,11 +24,14 @@
 import org.apache.axis2.engine.Handler;
 import org.apache.rampart.RampartEngine;
 import org.apache.rampart.RampartException;
+import org.apache.rampart.util.Axis2Util;
 import org.apache.ws.secpolicy.WSSPolicyException;
 import org.apache.ws.security.WSSecurityEngine;
 import org.apache.ws.security.WSSecurityException;
 import org.apache.ws.security.handler.WSHandlerConstants;
 import org.apache.ws.security.handler.WSHandlerResult;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
 
 import java.util.Vector;
 
@@ -59,12 +63,24 @@
         Vector wsResult;
         try {
             wsResult = engine.process(msgContext);
+            
+            //Convert back to LLOM
+            Document doc = ((Element)msgContext.getEnvelope()).getOwnerDocument();
+            msgContext.setEnvelope(Axis2Util.getSOAPEnvelopeFromDOOMDocument(doc));
         } catch (WSSecurityException e) {
             throw new AxisFault(e);
         } catch (WSSPolicyException e) {
             throw new AxisFault(e);
         } catch (RampartException e) {
             throw new AxisFault(e);
+        } finally {
+            // Reset the document builder factory
+            DocumentBuilderFactoryImpl.setDOOMRequired(false);
+
+        }
+        
+        if(wsResult == null) {
+            return;
         }
         
         Vector results = null;

Modified: webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/MessageBuilderTestBase.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/MessageBuilderTestBase.java?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/MessageBuilderTestBase.java (original)
+++ webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/MessageBuilderTestBase.java Fri Sep 22 20:20:04 2006
@@ -16,7 +16,6 @@
 
 package org.apache.rampart;
 
-import junit.framework.TestCase;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.impl.builder.StAXOMBuilder;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -34,8 +33,11 @@
 import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
+
 import java.io.FileInputStream;
 import java.util.Iterator;
+
+import junit.framework.TestCase;
 
 /**
  * @author Ruchith Fernando (ruchith.fernando@gmail.com)

Modified: webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/TransportBindingBuilderTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/TransportBindingBuilderTest.java?view=diff&rev=449147&r1=449146&r2=449147
==============================================================================
--- webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/TransportBindingBuilderTest.java (original)
+++ webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/TransportBindingBuilderTest.java Fri Sep 22 20:20:04 2006
@@ -39,8 +39,6 @@
             MessageBuilder builder = new MessageBuilder();
             builder.build(ctx);
 
-            System.out.println(ctx.getEnvelope());
-
             List list = new ArrayList();
             list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
             list.add(new QName(WSConstants.WSSE_NS, WSConstants.USERNAME_TOKEN_LN));
@@ -66,8 +64,6 @@
             MessageBuilder builder = new MessageBuilder();
             builder.build(ctx);
 
-            System.out.println(ctx.getEnvelope());
-
             List list = new ArrayList();
             list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
             list.add(new QName(WSConstants.WSSE_NS, WSConstants.USERNAME_TOKEN_LN));
@@ -92,8 +88,6 @@
             MessageBuilder builder = new MessageBuilder();
             builder.build(ctx);
 
-            System.out.println(ctx.getEnvelope());
-
             List list = new ArrayList();
             list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
             list.add(new QName(WSConstants.WSSE_NS, WSConstants.USERNAME_TOKEN_LN));
@@ -120,8 +114,6 @@
 
             MessageBuilder builder = new MessageBuilder();
             builder.build(ctx);
-
-            System.out.println(ctx.getEnvelope());
 
             List list = new ArrayList();
             list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));



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