<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">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.<div><br></div><div>If you can spot something wrong or suggest further diagnosis work, please let me know.</div><div><br></div><div>Thank you,</div><div><br></div><div>David Bantz</div><div><br></div><div><div><br></div><div><font face="Monaco"> <!-- Distinguish the values of employeeNumber from EDIR & AD--></font></div><div><font face="Monaco"> <resolver:AttributeDefinition id="EDIRemployeeNumber" xsi:type="Simple" xmlns="urn:mace:shibboleth:2.0:resolver:ad" sourceAttributeID="employeeNumber"></font></div><div><font face="Monaco"><resolver:Dependency ref="myLDAP" /></font></div><div><font face="Monaco"> <resolver:AttributeEncoder xsi:type="SAML1XMLObject" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"</font></div><div><font face="Monaco"> name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" /></font></div><div><font face="Monaco"> <resolver:AttributeEncoder xsi:type="SAML2XMLObject" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"</font></div><div><font face="Monaco">name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" friendlyName="EDIRemployeeNumber" /></font></div><div><font face="Monaco"> </resolver:AttributeDefinition></font></div><div><font face="Monaco"><br></font></div><div><font face="Monaco"> <resolver:AttributeDefinition id="ADemployeeNumber" xsi:type="Simple" xmlns="urn:mace:shibboleth:2.0:resolver:ad" sourceAttributeID="employeeNumber"></font></div><div><font face="Monaco"><resolver:Dependency ref="uaADLDAP" /></font></div><div><font face="Monaco"> <resolver:AttributeEncoder xsi:type="SAML1XMLObject" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"</font></div><div><font face="Monaco"> name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" /></font></div><div><font face="Monaco"> <resolver:AttributeEncoder xsi:type="SAML2XMLObject" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"</font></div><div><font face="Monaco">name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" friendlyName="ADemployeeNumber" /></font></div><div><font face="Monaco"> </resolver:AttributeDefinition></font></div><div><font face="Monaco"><br></font></div><div><font face="Monaco"><br></font></div><div><font face="Monaco"> <resolver:AttributeDefinition id="UDCID" xsi:type="Script" xmlns="urn:mace:shibboleth:2.0:resolver:ad"></font></div><div><font face="Monaco"> <resolver:Dependency ref="myLDAP" /></font></div><div><font face="Monaco"> <resolver:Dependency ref="uaADLDAP" /></font></div><div><font face="Monaco"> <resolver:Dependency ref="EDIRemployeeNumber" /></font></div><div><font face="Monaco"> <resolver:Dependency ref="ADemployeeNumber" /></font></div><div><font face="Monaco"><br></font></div><div><font face="Monaco"> <resolver:AttributeEncoder xsi:type="SAML1XMLObject" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"</font></div><div><font face="Monaco"> name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" /></font></div><div><font face="Monaco"> <!-- OID is that of eduPersonTargetedID, which Banner docs state is appropriate attribute for UDCID value--></font></div><div><font face="Monaco"> <resolver:AttributeEncoder xsi:type="SAML2XMLObject" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"</font></div><div><font face="Monaco"> name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" friendlyName="bannerudcid" /></font></div><div><font face="Monaco"><br></font></div><div><font face="Monaco"><!-- Script attempts to provide UDCID if AD and/or EDIR return value of employeeNumber --></font></div><div><font face="Monaco"><!-- If neither directory has a value in the attribute for UDCID, UDCID will have null value and not be released --></font></div><div><font face="Monaco"><!-- Script presumes employeeNumber is single-valued directory attribute in edir and AD --></font></div><div><font face="Monaco"><!-- If perchance the two sources have different value, the value from AD will take precedence --></font></div><div><font face="Monaco"><!-- debug-level log messages contain directory values and final attribute value--></font></div><div><font face="Monaco"><br></font></div><div><font face="Monaco"> <Script></font></div><div><font face="Monaco"> <![CDATA[</font></div><div><font face="Monaco"> </font></div><div><font face="Monaco"> importPackage(Packages.edu.internet2.middleware.shibboleth.common.attribute.provider);</font></div><div><font face="Monaco"> importPackage(Packages.org.slf4j);</font></div><div><font face="Monaco"><br></font></div><div><font face="Monaco"> logger = LoggerFactory.getLogger("edu.internet2.middleware.shibboleth.resolver.Script.scriptTest");</font></div><div><font face="Monaco"> logger.debug("Starting UDCID Attribute Resolver Script:");</font></div><div><font face="Monaco"><br></font></div><div><font face="Monaco"> if (UDCID == null) </font></div><div><font face="Monaco"> {UDCID = new BasicAttribute("UDCID");}</font></div><div><font face="Monaco"><br></font></div><div><font face="Monaco"> if (typeof EDIRemployeeNumber != "undefined" && EDIRemployeeNumber != null && EDIRemployeeNumber.getValues().size() !=0)</font></div><div><font face="Monaco"><br></font></div><div><font face="Monaco"> { logger.debug("Oracle (EDIR) LDAP UDCID Values: " + EDIRemployeeNumber.getValues());</font></div><div><font face="Monaco"> UDCID = EDIRemployeeNumber.getValues().get(0)</font></div><div><font face="Monaco"> }</font></div><div><font face="Monaco"> </font></div><div><font face="Monaco"> if (typeof ADemployeeNumber != "undefined" && ADemployeeNumber != null && ADemployeeNumber.getValues().size() !=0)</font></div><div><font face="Monaco"> { logger.debug("UA AD LDAP UDCID Values: " + ADemployeeNumber.getValues());</font></div><div><font face="Monaco"> UDCID = ADemployeeNumber.getValues().get(0) </font></div><div><font face="Monaco"> }</font></div><div><font face="Monaco"> </font></div><div><font face="Monaco"> logger.debug("Completed UDCID value: " + UDCID.getValues());</font></div><div><font face="Monaco"> logger.debug("Completed UDCID Attribute Resolver Script");</font></div><div><font face="Monaco"> </font></div><div><font face="Monaco"> ]]></font></div><div><font face="Monaco"> </Script></font></div><div><font face="Monaco"> </resolver:AttributeDefinition></font></div><div><font face="Monaco"><br></font></div><div><font face="Monaco">---</font></div><div><font face="Monaco">14:42:33.273 - ERROR [edu.internet2.middleware.shibboleth.common.attribute.resolver.provider.attributeDefinition.ScriptedAttributeDefinition:135] - ScriptletAttributeDefinition UDCID unable to execute script</font></div><div><font face="Monaco">javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: TypeError: Cannot find function getValues. (<Unknown Source>#20)</font></div><div><font face="Monaco">…</font></div><div><font face="Monaco">Caused by: sun.org.mozilla.javascript.internal.EcmaError: TypeError: Cannot find function getValues. (<Unknown Source>#20)</font></div><div><br></div><div><br></div></div></body></html>