You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by na...@apache.org on 2009/08/03 13:09:21 UTC

svn commit: r800302 - in /webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart: RampartEngine.java RampartMessageData.java

Author: nandana
Date: Mon Aug  3 11:09:21 2009
New Revision: 800302

URL: http://svn.apache.org/viewvc?rev=800302&view=rev
Log:
fixing RAMPART-230

Modified:
    webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
    webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/RampartMessageData.java

Modified: webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java?rev=800302&r1=800301&r2=800302&view=diff
==============================================================================
--- webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java (original)
+++ webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java Mon Aug  3 11:09:21 2009
@@ -76,10 +76,16 @@
 
         RampartUtil.validateTransport(rmd);
 
+        // If there is no policy information return immediately
+        if (rpd == null) {
+           return null;
+        }
 
-	    //If there is no policy information or if the message is a security fault or no security
-                // header required by the policy
-		if(rpd == null || isSecurityFault(rmd) || !RampartUtil.isSecHeaderRequired(rpd,rmd.isInitiator(),true)) {
+
+        //TODO these checks have to be done before the convertion to avoid unnecessary convertion to LLOM -> DOOM
+        // If the message is a security fault or no security
+        // header required by the policy
+        if(isSecurityFault(rmd) || !RampartUtil.isSecHeaderRequired(rpd,rmd.isInitiator(),true)) {
 			SOAPEnvelope env = Axis2Util.getSOAPEnvelopeFromDOMDocument(rmd.getDocument(), true);
 
 			//Convert back to llom since the inflow cannot use llom

Modified: webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/RampartMessageData.java
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/RampartMessageData.java?rev=800302&r1=800301&r2=800302&view=diff
==============================================================================
--- webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/RampartMessageData.java (original)
+++ webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/RampartMessageData.java Mon Aug  3 11:09:21 2009
@@ -159,16 +159,7 @@
         this.msgContext = msgCtx;
         
         try {
-            
-            /*
-             * First get the SOAP envelope as document, then create a security
-             * header and insert into the document (Envelope)
-             */
-            this.document = Axis2Util.getDocumentFromSOAPEnvelope(msgCtx.getEnvelope(), true);
-            msgCtx.setEnvelope((SOAPEnvelope)this.document.getDocumentElement());
-            
-            this.soapConstants = WSSecurityUtil.getSOAPConstants(this.document.getDocumentElement());
-            
+
             //Extract known properties from the msgCtx
             
             if(msgCtx.getProperty(KEY_WST_VERSION) != null) {
@@ -257,7 +248,15 @@
             
             
             if(this.policyData != null) {
-                
+
+                // Get the SOAP envelope as document, then create a security
+                // header and insert into the document (Envelope)
+                // WE SHOULD ONLY DO THE CONVERTION IF THERE IS AN APPLICABLE POLICY
+                this.document = Axis2Util.getDocumentFromSOAPEnvelope(msgCtx.getEnvelope(), true);
+                msgCtx.setEnvelope((SOAPEnvelope)this.document.getDocumentElement());
+
+                this.soapConstants = WSSecurityUtil.getSOAPConstants(this.document.getDocumentElement());
+                                
                 // Update the Rampart Config if RampartConfigCallbackHandler is present in the
                 // RampartConfig