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
                 


Reply via email to