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