resolver script error help request

David Bantz dabantz at alaska.edu
Thu May 16 21:11:15 EDT 2013


I've re-puposed a working script-based attribute resolver but the re-purposed version (changing just the underlying attribute names) fails with the indicated error.

If you can spot something wrong or suggest further diagnosis work, please let me know.

Thank you,

David Bantz


        <!-- Distinguish the values of employeeNumber from EDIR & AD-->
        <resolver:AttributeDefinition id="EDIRemployeeNumber" xsi:type="Simple" xmlns="urn:mace:shibboleth:2.0:resolver:ad" sourceAttributeID="employeeNumber">
<resolver:Dependency ref="myLDAP" />
         <resolver:AttributeEncoder xsi:type="SAML1XMLObject" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"
                name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" />
        <resolver:AttributeEncoder xsi:type="SAML2XMLObject" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"
name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" friendlyName="EDIRemployeeNumber" />
        </resolver:AttributeDefinition>

                <resolver:AttributeDefinition id="ADemployeeNumber" xsi:type="Simple" xmlns="urn:mace:shibboleth:2.0:resolver:ad" sourceAttributeID="employeeNumber">
<resolver:Dependency ref="uaADLDAP" />
         <resolver:AttributeEncoder xsi:type="SAML1XMLObject" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"
                name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" />
        <resolver:AttributeEncoder xsi:type="SAML2XMLObject" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"
name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" friendlyName="ADemployeeNumber" />
        </resolver:AttributeDefinition>


    <resolver:AttributeDefinition id="UDCID" xsi:type="Script" xmlns="urn:mace:shibboleth:2.0:resolver:ad">
        <resolver:Dependency ref="myLDAP" />
        <resolver:Dependency ref="uaADLDAP" />
        <resolver:Dependency ref="EDIRemployeeNumber" />
        <resolver:Dependency ref="ADemployeeNumber" />

        <resolver:AttributeEncoder xsi:type="SAML1XMLObject" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"
                name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" />
        <!-- OID is that of eduPersonTargetedID, which Banner docs state is appropriate attribute for UDCID value-->
        <resolver:AttributeEncoder xsi:type="SAML2XMLObject" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"
         name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" friendlyName="bannerudcid" />

<!-- Script attempts to provide UDCID if AD and/or EDIR return value of employeeNumber  -->
<!-- If neither directory has a value in the attribute for UDCID, UDCID will have null value and not be released -->
<!-- Script presumes employeeNumber is single-valued directory attribute in edir and AD -->
<!-- If perchance the two sources have different value, the value from AD will take precedence -->
<!-- debug-level log messages contain directory values and final attribute value-->

        <Script>
                <![CDATA[
                
        importPackage(Packages.edu.internet2.middleware.shibboleth.common.attribute.provider);
        importPackage(Packages.org.slf4j);

        logger = LoggerFactory.getLogger("edu.internet2.middleware.shibboleth.resolver.Script.scriptTest");
        logger.debug("Starting UDCID Attribute Resolver Script:");

                if (UDCID == null) 
                     {UDCID = new BasicAttribute("UDCID");}

        if (typeof EDIRemployeeNumber != "undefined" && EDIRemployeeNumber != null && EDIRemployeeNumber.getValues().size() !=0)

            {   logger.debug("Oracle (EDIR) LDAP UDCID Values: " + EDIRemployeeNumber.getValues());
                        UDCID = EDIRemployeeNumber.getValues().get(0)
                     }
                
                if (typeof ADemployeeNumber != "undefined" && ADemployeeNumber != null && ADemployeeNumber.getValues().size() !=0)
                     { logger.debug("UA AD LDAP UDCID Values: " + ADemployeeNumber.getValues());
                       UDCID = ADemployeeNumber.getValues().get(0)        
                     }
                
                logger.debug("Completed UDCID value: " + UDCID.getValues());
        logger.debug("Completed UDCID Attribute Resolver Script");
                
                ]]>
     </Script>
        </resolver:AttributeDefinition>

---
14:42:33.273 - ERROR [edu.internet2.middleware.shibboleth.common.attribute.resolver.provider.attributeDefinition.ScriptedAttributeDefinition:135] - ScriptletAttributeDefinition UDCID unable to execute script
javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: TypeError: Cannot find function getValues. (<Unknown Source>#20)
…
Caused by: sun.org.mozilla.javascript.internal.EcmaError: TypeError: Cannot find function getValues. (<Unknown Source>#20)


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://shibboleth.net/pipermail/users/attachments/20130516/4e84d8a6/attachment.html 


More information about the users mailing list