You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by pr...@apache.org on 2010/04/21 11:54:21 UTC

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

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");
                 }
             }