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