Author: nandana
Date: Mon Jan 14 00:22:49 2008
New Revision: 611737

URL: http://svn.apache.org/viewvc?rev=611737&view=rev
Log:
Supporting tokens only have to be present in the incoming message when it is 
not the initiator

Modified:
    
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java

Modified: 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java?rev=611737&r1=611736&r2=611737&view=diff
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
 Mon Jan 14 00:22:49 2008
@@ -1081,6 +1081,11 @@
         return retElem;
     }
     
+    /**
+     * Method to check whether security header is required in incoming message
+     * @param rmd 
+     * @return true if a security header is required in the incoming message
+     */
     public static boolean isSecHeaderRequired(RampartMessageData rmd) {
         RampartPolicyData rpd = rmd.getPolicyData();
         
@@ -1104,24 +1109,28 @@
         // Checking for supporting tokens
         SupportingToken supportingTokens;
         
-        supportingTokens = rpd.getSupportingTokens();
-        if (supportingTokens != null && supportingTokens.getTokens().size() != 
0) {
-            return true;
-        }
-        
-        supportingTokens = rpd.getSignedSupportingTokens();
-        if (supportingTokens != null && supportingTokens.getTokens().size() != 
0) {
-            return true;
-        }
+        if (!rmd.isInitiator()) {
         
-        supportingTokens = rpd.getEndorsingSupportingTokens();
-        if (supportingTokens != null && supportingTokens.getTokens().size() != 
0) {
-            return true;
-        }
+            supportingTokens = rpd.getSupportingTokens();
+            if (supportingTokens != null && 
supportingTokens.getTokens().size() != 0) {
+                return true;
+            }
+            
+            supportingTokens = rpd.getSignedSupportingTokens();
+            if (supportingTokens != null && 
supportingTokens.getTokens().size() != 0) {
+                return true;
+            }
+            
+            supportingTokens = rpd.getEndorsingSupportingTokens();
+            if (supportingTokens != null && 
supportingTokens.getTokens().size() != 0) {
+                return true;
+            }
+            
+            supportingTokens = rpd.getSignedEndorsingSupportingTokens();
+            if (supportingTokens != null && 
supportingTokens.getTokens().size() != 0) {
+                return true;
+            }
         
-        supportingTokens = rpd.getSignedEndorsingSupportingTokens();
-        if (supportingTokens != null && supportingTokens.getTokens().size() != 
0) {
-            return true;
         }
         
         return false;


Reply via email to