Scriptlet attribute index out of bounds exception
Christopher Bongaarts
cab at umn.edu
Wed Dec 12 13:30:17 EST 2012
I'm not seeing how this error could happen - maybe the Many-Eyed Net can
help. From attribute-resolver.xml:
<resolver:AttributeDefinition id="vendorLastName" xsi:type="Script"
xmlns="urn:mace:shibboleth:2.0:resolver:ad">
<resolver:Dependency ref="surname" />
<resolver:Dependency ref="umnUCardSurname" />
<resolver:AttributeEncoder xsi:type="SAML1String"
xmlns="urn:mace:shibboleth:2.0:attribute:encoder"
namespace="http:/insert.vendor.here/userprofile/"
name="lastName" />
<Script><![CDATA[
importPackage(Packages.edu.internet2.middleware.shibboleth.common.attribute.provider);
vendorLastName = new BasicAttribute("vendorLastName");
var umnUCardSurname, surname;
if (umnUCardSurname != null &&
umnUCardSurname.getValues().size() > 0) {
value = umnUCardSurname.getValues().get(0); // PROBLEM?
} else {
value = surname.getValues().get(0);
}
vendorLastName.getValues().add(value);
]]></Script>
</resolver:AttributeDefinition>
Occasionally I will get exceptions:
05:51:08.196 - ERROR
[edu.internet2.middleware.shibboleth.common.attribute.resolver.provider.attributeDefinition.ScriptedAttributeDefinition:135]
- ScriptletAttributeDefinition vendorLastName unable to execute script
com.sun.phobos.script.util.ExtendedScriptException:
org.mozilla.javascript.WrappedException: Wrapped
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 (<Unknown
Source>#9) in <Unknown Source> at line number 9
Line 9 seems to implicate the expression marked //PROBLEM? above. But
I'm not clear how the conditions can be true and yet have the get(0) fail.
Most people do not have a umnUCardSurname, so the common code path is
the other route (use surname).
Any ideas?
--
%% Christopher A. Bongaarts %% cab at umn.edu %%
%% OIT - Identity Management %% http://umn.edu/~cab %%
%% University of Minnesota %% +1 (612) 625-1809 %%
More information about the users
mailing list