Author: prabath
Date: Wed Apr 21 09:54:21 2010
New Revision: 936232

URL: http://svn.apache.org/viewvc?rev=936232&view=rev
Log:
Validator to allow missing UsernameToken and X509Token if they are optional 

Modified:
    
axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java

Modified: 
axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java?rev=936232&r1=936231&r2=936232&view=diff
==============================================================================
--- 
axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java
 (original)
+++ 
axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java
 Wed Apr 21 09:54:21 2010
@@ -291,9 +291,10 @@ public class PolicyBasedResultsValidator
         for (Iterator iter = tokens.iterator(); iter.hasNext();) {
             Token token = (Token) iter.next();
             if(token instanceof UsernameToken) {
+                UsernameToken ut = (UsernameToken) token;
                 //Check presence of a UsernameToken
                 WSSecurityEngineResult utResult = 
WSSecurityUtil.fetchActionResult(results, WSConstants.UT);
-                if(utResult == null) {
+                if(utResult == null && !ut.isOptional()) {
                     throw new RampartException("usernameTokenMissing");
                 }
                 
@@ -304,8 +305,9 @@ public class PolicyBasedResultsValidator
                     throw new RampartException("samlTokenMissing");
                 }
             } else if ( token instanceof X509Token) {
+                X509Token x509Token = (X509Token) token;
                 WSSecurityEngineResult x509Result = 
WSSecurityUtil.fetchActionResult(results, WSConstants.BST);
-                if(x509Result == null) {
+                if(x509Result == null && !x509Token.isOptional()) {
                     throw new RampartException("binaryTokenMissing");
                 }
             }


Reply via email to