You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by co...@apache.org on 2013/09/24 12:30:43 UTC

svn commit: r1525833 - in /webservices/wss4j/trunk: ws-security-common/src/main/java/org/apache/wss4j/common/saml/bean/ ws-security-common/src/main/java/org/apache/wss4j/common/saml/builder/ ws-security-dom/src/test/java/org/apache/wss4j/dom/common/ ws...

Author: coheigea
Date: Tue Sep 24 10:30:43 2013
New Revision: 1525833

URL: http://svn.apache.org/r1525833
Log:
Change AttributeBean AttributeValue type to "Object"

Modified:
    webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/bean/AttributeBean.java
    webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/builder/SAML1ComponentBuilder.java
    webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/builder/SAML2ComponentBuilder.java
    webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/common/AbstractSAMLCallbackHandler.java
    webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/saml/SamlTokenTest.java
    webservices/wss4j/trunk/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/IssuedTokenTest.java
    webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/saml/SAMLCallbackHandlerImpl.java
    webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/saml/SAMLTokenTest.java

Modified: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/bean/AttributeBean.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/bean/AttributeBean.java?rev=1525833&r1=1525832&r2=1525833&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/bean/AttributeBean.java (original)
+++ webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/bean/AttributeBean.java Tue Sep 24 10:30:43 2013
@@ -29,14 +29,13 @@ public class AttributeBean {
     private String simpleName;
     private String qualifiedName;
     private String nameFormat;
-    private List<String> attributeValues;
-    private List<?> customAttributeValues;
+    private List<Object> attributeValues;
 
     /**
      * Constructor SamlAttribute creates a new SamlAttribute instance.
      */
     public AttributeBean() {
-        attributeValues = new ArrayList<String>();
+        attributeValues = new ArrayList<Object>();
     }
 
     /**
@@ -44,9 +43,9 @@ public class AttributeBean {
      * 
      * @param simpleName of type String
      * @param qualifiedName of type String
-     * @param attributeValues of type List<String>
+     * @param attributeValues of type List<Object>
      */
-    public AttributeBean(String simpleName, String qualifiedName, List<String> attributeValues) {
+    public AttributeBean(String simpleName, String qualifiedName, List<Object> attributeValues) {
         this.simpleName = simpleName;
         this.qualifiedName = qualifiedName;
         this.attributeValues = attributeValues;
@@ -111,7 +110,7 @@ public class AttributeBean {
      *
      * @return the attributeValues (type List) of this SamlAttribute object.
      */
-    public List<String> getAttributeValues() {
+    public List<Object> getAttributeValues() {
         return attributeValues;
     }
 
@@ -120,29 +119,10 @@ public class AttributeBean {
      *
      * @param attributeValues the attributeValues of this SamlAttribute object.
      */
-    public void setAttributeValues(List<String> attributeValues) {
+    public void setAttributeValues(List<Object> attributeValues) {
         this.attributeValues = attributeValues;
     }
     
-    /**
-     * Method setCustomAttributeValues sets the attributeValues of this SamlAttribute object.
-     * This method allows the user to specify OpenSAML XMLObject attributes.
-     *
-     * @param customAttributeValues the attributeValues of this SamlAttribute object.
-     */
-    public void setCustomAttributeValues(List<?> customAttributeValues) {
-        this.customAttributeValues = customAttributeValues;
-    }
-    
-    /**
-     * Method getCustomAttributeValues returns the attributeValues of this SamlAttribute object.
-     *
-     * @return the attributeValues (type List) of this SamlAttribute object.
-     */
-    public List<?> getCustomAttributeValues() {
-        return customAttributeValues;
-    }
-
     @Override
     public boolean equals(Object o) {
         if (this == o) return true;
@@ -156,13 +136,6 @@ public class AttributeBean {
             return false;
         }
         
-        if (customAttributeValues == null && that.customAttributeValues != null) {
-            return false;
-        } else if (customAttributeValues != null 
-                && !customAttributeValues.equals(that.customAttributeValues)) {
-            return false;
-        }
-        
         if (qualifiedName == null && that.qualifiedName != null) {
             return false;
         } else if (qualifiedName != null && !qualifiedName.equals(that.qualifiedName)) {
@@ -199,9 +172,6 @@ public class AttributeBean {
         if (attributeValues != null) {
             result = 31 * result + attributeValues.hashCode();
         }
-        if (customAttributeValues != null) {
-            result = 31 * result + customAttributeValues.hashCode();
-        }
         return result;
     }
 }

Modified: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/builder/SAML1ComponentBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/builder/SAML1ComponentBuilder.java?rev=1525833&r1=1525832&r2=1525833&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/builder/SAML1ComponentBuilder.java (original)
+++ webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/builder/SAML1ComponentBuilder.java Tue Sep 24 10:30:43 2013
@@ -418,10 +418,7 @@ public final class SAML1ComponentBuilder
                 attributeStatement.setSubject(attributeSubject);
                 // Add the individual attributes
                 for (AttributeBean values : statementBean.getSamlAttributes()) {
-                    List<?> attributeValues = values.getAttributeValues();
-                    if (attributeValues == null || attributeValues.isEmpty()) {
-                        attributeValues = values.getCustomAttributeValues();
-                    }
+                    List<Object> attributeValues = values.getAttributeValues();
                     
                     Attribute samlAttribute = 
                         createSamlv1Attribute(
@@ -451,7 +448,7 @@ public final class SAML1ComponentBuilder
     public static Attribute createSamlv1Attribute(
         String attributeName, 
         String attributeUrn,
-        List<?> values
+        List<Object> values
     ) {
         if (attributeV1Builder == null) {
             attributeV1Builder = (SAMLObjectBuilder<Attribute>) 

Modified: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/builder/SAML2ComponentBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/builder/SAML2ComponentBuilder.java?rev=1525833&r1=1525832&r2=1525833&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/builder/SAML2ComponentBuilder.java (original)
+++ webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/builder/SAML2ComponentBuilder.java Tue Sep 24 10:30:43 2013
@@ -397,7 +397,7 @@ public final class SAML2ComponentBuilder
      * @return a SAML2 Attribute
      */
     public static Attribute createAttribute(
-        String friendlyName, String name, String nameFormat, List<?> values
+        String friendlyName, String name, String nameFormat, List<Object> values
     ) {
         if (stringBuilder == null) {
             stringBuilder = (XSStringBuilder)builderFactory.getBuilder(XSString.TYPE_NAME);
@@ -585,10 +585,7 @@ public final class SAML2ComponentBuilder
             for (AttributeStatementBean statementBean : attributeData) {
                 AttributeStatement attributeStatement = attributeStatementBuilder.buildObject();
                 for (AttributeBean values : statementBean.getSamlAttributes()) {
-                    List<?> attributeValues = values.getAttributeValues();
-                    if (attributeValues == null || attributeValues.isEmpty()) {
-                        attributeValues = values.getCustomAttributeValues();
-                    }
+                    List<Object> attributeValues = values.getAttributeValues();
                     Attribute samlAttribute = 
                         createAttribute(
                             values.getSimpleName(), 

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/common/AbstractSAMLCallbackHandler.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/common/AbstractSAMLCallbackHandler.java?rev=1525833&r1=1525832&r2=1525833&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/common/AbstractSAMLCallbackHandler.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/common/AbstractSAMLCallbackHandler.java Tue Sep 24 10:30:43 2013
@@ -42,6 +42,7 @@ import javax.xml.parsers.DocumentBuilder
 import javax.xml.parsers.DocumentBuilderFactory;
 
 import java.security.cert.X509Certificate;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
@@ -68,7 +69,7 @@ public abstract class AbstractSAMLCallba
     protected String subjectLocalityDnsAddress = null;
     protected DateTime sessionNotOnOrAfter = null;
     protected String resource = null;
-    protected List<?> customAttributeValues = null;
+    protected List<Object> customAttributeValues = null;
     protected ConditionsBean conditions = null;
     protected SubjectConfirmationDataBean subjectConfirmationData = null;
     
@@ -121,7 +122,7 @@ public abstract class AbstractSAMLCallba
         this.resource = resource;
     }
     
-    public void setCustomAttributeValues(List<?> customAttributeValues) {
+    public void setCustomAttributeValues(List<Object> customAttributeValues) {
         this.customAttributeValues = customAttributeValues;
     }
     
@@ -154,9 +155,11 @@ public abstract class AbstractSAMLCallba
                 attributeBean.setQualifiedName("role");
             }
             if (customAttributeValues != null) {
-                attributeBean.setCustomAttributeValues(customAttributeValues);   
+                attributeBean.setAttributeValues(customAttributeValues);   
             } else {
-                attributeBean.setAttributeValues(Collections.singletonList("user"));
+                List<Object> attributes = new ArrayList<Object>();
+                attributes.add("user");
+                attributeBean.setAttributeValues(attributes);
             }
             attrBean.setSamlAttributes(Collections.singletonList(attributeBean));
             callback.setAttributeStatementData(Collections.singletonList(attrBean));

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/saml/SamlTokenTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/saml/SamlTokenTest.java?rev=1525833&r1=1525832&r2=1525833&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/saml/SamlTokenTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/saml/SamlTokenTest.java Tue Sep 24 10:30:43 2013
@@ -53,7 +53,7 @@ import org.opensaml.xml.schema.XSAny;
 import org.opensaml.xml.schema.XSInteger;
 import org.w3c.dom.Document;
 
-import java.util.Collections;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -725,7 +725,9 @@ public class SamlTokenTest extends org.j
         XSAny attributeValue = xsAnyBuilder.buildObject(AttributeValue.DEFAULT_ELEMENT_NAME);
         attributeValue.getUnknownXMLObjects().add(conditions);
         
-        callbackHandler.setCustomAttributeValues(Collections.singletonList(attributeValue));
+        List<Object> attributeValues = new ArrayList<Object>();
+        attributeValues.add(attributeValue);
+        callbackHandler.setCustomAttributeValues(attributeValues);
 
         SAMLCallback samlCallback = new SAMLCallback();
         SAMLUtil.doSAMLCallback(callbackHandler, samlCallback);
@@ -774,7 +776,9 @@ public class SamlTokenTest extends org.j
             xsIntegerBuilder.buildObject(AttributeValue.DEFAULT_ELEMENT_NAME, XSInteger.TYPE_NAME);
         attributeValue.setValue(5);
         
-        callbackHandler.setCustomAttributeValues(Collections.singletonList(attributeValue));
+        List<Object> attributeValues = new ArrayList<Object>();
+        attributeValues.add(attributeValue);
+        callbackHandler.setCustomAttributeValues(attributeValues);
 
         SAMLCallback samlCallback = new SAMLCallback();
         SAMLUtil.doSAMLCallback(callbackHandler, samlCallback);

Modified: webservices/wss4j/trunk/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/IssuedTokenTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/IssuedTokenTest.java?rev=1525833&r1=1525832&r2=1525833&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/IssuedTokenTest.java (original)
+++ webservices/wss4j/trunk/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/IssuedTokenTest.java Tue Sep 24 10:30:43 2013
@@ -44,7 +44,6 @@ import org.testng.annotations.Test;
 
 import javax.xml.namespace.QName;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -105,8 +104,12 @@ public class IssuedTokenTest extends Abs
 
         List<AttributeStatementBean> attributeStatementBeans = new ArrayList<AttributeStatementBean>();
         List<AttributeBean> attributeBeans = new ArrayList<AttributeBean>();
-        attributeBeans.add(new AttributeBean("email", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/email", Collections.singletonList("test@example.com")));
-        attributeBeans.add(new AttributeBean("surname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", Collections.singletonList("Proper")));
+        List<Object> attributeValues = new ArrayList<Object>();
+        attributeValues.add("test@example.com");
+        attributeBeans.add(new AttributeBean("email", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/email", attributeValues));
+        attributeValues.clear();
+        attributeValues.add("Proper");
+        attributeBeans.add(new AttributeBean("surname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", attributeValues));
         attributeStatementBeans.add(new AttributeStatementBean(subjectBean, attributeBeans));
         samlCallback.setAttributeStatementData(attributeStatementBeans);
 
@@ -168,8 +171,12 @@ public class IssuedTokenTest extends Abs
 
         List<AttributeStatementBean> attributeStatementBeans = new ArrayList<AttributeStatementBean>();
         List<AttributeBean> attributeBeans = new ArrayList<AttributeBean>();
-        attributeBeans.add(new AttributeBean("email", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/email", Collections.singletonList("test@example.com")));
-        attributeBeans.add(new AttributeBean("surname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", Collections.singletonList("Proper")));
+        List<Object> attributeValues = new ArrayList<Object>();
+        attributeValues.add("test@example.com");
+        attributeBeans.add(new AttributeBean("email", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/email", attributeValues));
+        attributeValues.clear();
+        attributeValues.add("Proper");
+        attributeBeans.add(new AttributeBean("surname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", attributeValues));
         attributeStatementBeans.add(new AttributeStatementBean(subjectBean, attributeBeans));
         samlCallback.setAttributeStatementData(attributeStatementBeans);
 
@@ -233,8 +240,12 @@ public class IssuedTokenTest extends Abs
 
         List<AttributeStatementBean> attributeStatementBeans = new ArrayList<AttributeStatementBean>();
         List<AttributeBean> attributeBeans = new ArrayList<AttributeBean>();
-        attributeBeans.add(new AttributeBean("email", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/email", Collections.singletonList("test@example.com")));
-        attributeBeans.add(new AttributeBean("surname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", Collections.singletonList("Proper")));
+        List<Object> attributeValues = new ArrayList<Object>();
+        attributeValues.add("test@example.com");
+        attributeBeans.add(new AttributeBean("email", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/email", attributeValues));
+        attributeValues.clear();
+        attributeValues.add("Proper");
+        attributeBeans.add(new AttributeBean("surname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", attributeValues));
         attributeStatementBeans.add(new AttributeStatementBean(subjectBean, attributeBeans));
         samlCallback.setAttributeStatementData(attributeStatementBeans);
 
@@ -301,8 +312,12 @@ public class IssuedTokenTest extends Abs
 
         List<AttributeStatementBean> attributeStatementBeans = new ArrayList<AttributeStatementBean>();
         List<AttributeBean> attributeBeans = new ArrayList<AttributeBean>();
-        attributeBeans.add(new AttributeBean("email", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/email", Collections.singletonList("test@example.com")));
-        attributeBeans.add(new AttributeBean("surname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", Collections.singletonList("Proper")));
+        List<Object> attributeValues = new ArrayList<Object>();
+        attributeValues.add("test@example.com");
+        attributeBeans.add(new AttributeBean("email", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/email", attributeValues));
+        attributeValues.clear();
+        attributeValues.add("Proper");
+        attributeBeans.add(new AttributeBean("surname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", attributeValues));
         attributeStatementBeans.add(new AttributeStatementBean(subjectBean, attributeBeans));
         samlCallback.setAttributeStatementData(attributeStatementBeans);
 
@@ -369,7 +384,9 @@ public class IssuedTokenTest extends Abs
 
         List<AttributeStatementBean> attributeStatementBeans = new ArrayList<AttributeStatementBean>();
         List<AttributeBean> attributeBeans = new ArrayList<AttributeBean>();
-        attributeBeans.add(new AttributeBean("email", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/email", Collections.singletonList("test@example.com")));
+        List<Object> attributeValues = new ArrayList<Object>();
+        attributeValues.add("test@example.com");
+        attributeBeans.add(new AttributeBean("email", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/email", attributeValues));
         attributeStatementBeans.add(new AttributeStatementBean(subjectBean, attributeBeans));
         samlCallback.setAttributeStatementData(attributeStatementBeans);
 

Modified: webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/saml/SAMLCallbackHandlerImpl.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/saml/SAMLCallbackHandlerImpl.java?rev=1525833&r1=1525832&r2=1525833&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/saml/SAMLCallbackHandlerImpl.java (original)
+++ webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/saml/SAMLCallbackHandlerImpl.java Tue Sep 24 10:30:43 2013
@@ -21,6 +21,7 @@ package org.apache.wss4j.stax.test.saml;
 import java.io.IOException;
 import java.security.KeyStore;
 import java.security.cert.X509Certificate;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
@@ -69,7 +70,7 @@ public class SAMLCallbackHandlerImpl imp
     private String subjectLocalityIpAddress = null;
     private String subjectLocalityDnsAddress = null;
     private String resource = null;
-    private List<?> customAttributeValues = null;
+    private List<Object> customAttributeValues = null;
     private ConditionsBean conditions = null;
 
     private boolean signAssertion = true;
@@ -154,9 +155,11 @@ public class SAMLCallbackHandlerImpl imp
                 attributeBean.setQualifiedName("role");
             }
             if (customAttributeValues != null) {
-                attributeBean.setCustomAttributeValues(customAttributeValues);
+                attributeBean.setAttributeValues(customAttributeValues);
             } else {
-                attributeBean.setAttributeValues(Collections.singletonList("user"));
+                List<Object> attributes = new ArrayList<Object>();
+                attributes.add("user");
+                attributeBean.setAttributeValues(attributes);
             }
             attrBean.setSamlAttributes(Collections.singletonList(attributeBean));
             callback.setAttributeStatementData(Collections.singletonList(attrBean));
@@ -309,7 +312,7 @@ public class SAMLCallbackHandlerImpl imp
         this.resource = resource;
     }
 
-    public void setCustomAttributeValues(List<?> customAttributeValues) {
+    public void setCustomAttributeValues(List<Object> customAttributeValues) {
         this.customAttributeValues = customAttributeValues;
     }
 }

Modified: webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/saml/SAMLTokenTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/saml/SAMLTokenTest.java?rev=1525833&r1=1525832&r2=1525833&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/saml/SAMLTokenTest.java (original)
+++ webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/saml/SAMLTokenTest.java Tue Sep 24 10:30:43 2013
@@ -49,12 +49,13 @@ import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
+
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.InputStream;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 
@@ -720,8 +721,10 @@ public class SAMLTokenTest extends Abstr
             XSAny attributeValue = xsAnyBuilder.buildObject(AttributeValue.DEFAULT_ELEMENT_NAME);
             attributeValue.getUnknownXMLObjects().add(conditions);
 
-            callbackHandler.setCustomAttributeValues(Collections.singletonList(attributeValue));
-
+            List<Object> attributeValues = new ArrayList<Object>();
+            attributeValues.add(attributeValue);
+            callbackHandler.setCustomAttributeValues(attributeValues);
+            
             securityProperties.setSamlCallbackHandler(callbackHandler);
 
             OutboundWSSec wsSecOut = WSSec.getOutboundWSSec(securityProperties);