<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">So I attempting to define my first scripted attribute for my test SP and I am getting this error in idp-process.log:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">09:03:57.213 - INFO [edu.internet2.middleware.shibboleth.resolver.Script.eduCourseOffering:-2] - in eduCourseOffering Script<o:p></o:p></p>
<p class="MsoNormal">09:03:57.219 - ERROR [edu.internet2.middleware.shibboleth.common.attribute.resolver.provider.attributeDefinition.ScriptedAttributeDefinition:135] - ScriptletAttributeDefinition edu<o:p></o:p></p>
<p class="MsoNormal">CourseOffering unable to execute script<o:p></o:p></p>
<p class="MsoNormal">com.sun.phobos.script.util.ExtendedScriptException: org.mozilla.javascript.EvaluatorException: Java class "edu.internet2.middleware.shibboleth.common.attribute.provider.BasicAttrib<o:p></o:p></p>
<p class="MsoNormal">ute" has no public instance field or method named "0". (<Unknown Source>#10) in <Unknown Source> at line number 10<o:p></o:p></p>
<p class="MsoNormal"> at com.sun.phobos.script.javascript.RhinoCompiledScript.eval(RhinoCompiledScript.java:68) ~[js-engine-20080611.jar:na]<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">It apparently doesn’t like <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> var i;<o:p></o:p></p>
<p class="MsoNormal"> i = 0;<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Any ideas? I am not a javascript expert either…<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Here is the script:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><resolver:AttributeDefinition xsi:type="Script" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="eduCourseOffering" ><o:p></o:p></p>
<p class="MsoNormal"> <resolver:Dependency ref="staticuuenrl" /><o:p></o:p></p>
<p class="MsoNormal"><Script><![CDATA[<o:p></o:p></p>
<p class="MsoNormal"> importPackage(Packages.edu.internet2.middleware.shibboleth.common.attribute.provider);<o:p></o:p></p>
<p class="MsoNormal"> importPackage(Packages.org.slf4j);<o:p></o:p></p>
<p class="MsoNormal"> logger = LoggerFactory.getLogger("edu.internet2.middleware.shibboleth.resolver.Script.eduCourseOffering");<o:p></o:p></p>
<p class="MsoNormal"> logger.info("in eduCourseOffering Script");<o:p></o:p></p>
<p class="MsoNormal"> eduCourseOffering = new BasicAttribute("eduCourseOffering");<o:p></o:p></p>
<p class="MsoNormal"> var res;<o:p></o:p></p>
<p class="MsoNormal"> var res2;<o:p></o:p></p>
<p class="MsoNormal"> var i;<o:p></o:p></p>
<p class="MsoNormal"> i = 0;<o:p></o:p></p>
<p class="MsoNormal"> res = eduCourseOffering[i].split('$');<o:p></o:p></p>
<p class="MsoNormal"> res2 = res[0].split(' ');<o:p></o:p></p>
<p class="MsoNormal"> educourseoffering = res2[1] +':'+res2[0]+':'+res[2]+res[3]+res[4];<o:p></o:p></p>
<p class="MsoNormal"> i = 1;<o:p></o:p></p>
<p class="MsoNormal"> for (;eduCourseOffering[i];){<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> res = eduCourseOffering[i].split('$');<o:p></o:p></p>
<p class="MsoNormal"> res2 = res[0].split(' ')<o:p></o:p></p>
<p class="MsoNormal"> educourseoffering = educourseoffering + ','+ res2[1] +':'+res2[0]+':'+res[2]+res[3]+res[4];<o:p></o:p></p>
<p class="MsoNormal"> logger.info(educourseoffering);<o:p></o:p></p>
<p class="MsoNormal"> i++;<o:p></o:p></p>
<p class="MsoNormal"> }<o:p></o:p></p>
<p class="MsoNormal"> ]]></Script><o:p></o:p></p>
<p class="MsoNormal"></resolver:AttributeDefinition><o:p></o:p></p>
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:#1F497D">Bryan Wooten<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="color:#1F497D">Tel: (801)585-9323<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Email: <a href="mailto:bryan.wooten@utah.edu">
<span style="color:blue">bryan.wooten@utah.edu</span></a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><img border="0" width="211" height="123" id="Picture_x0020_1" src="cid:image001.jpg@01D1E346.8CED8FD0" alt="Identity & Access Management_combined centered"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>