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