function getContext() { system.setJavaProperty("java.security.auth.login.config", "C:/Program files (x86)/ibm/isim/extensions/6.0/examples/apps/bin/jaas_login_was.conf"); system.setJavaProperty("com.ibm.CORBA.ConfigURL", "file:C:/Program Files/IBM/WebSphere/AppServer/profiles/AppSrv01/properties/sas.client.props"); system.setJavaProperty("com.ibm.CORBA.securityServerHost", "isimsvr"); system.setJavaProperty("com.ibm.CORBA.securityServerPort", "2809"); system.setJavaProperty("com.ibm.SSL.ConfigURL", "file:C:/Program Files/IBM/WebSphere/AppServer/profiles/AppSrv01/properties/ssl.client.props"); // THESE 4 FIELDS ARE REQUIRED TO GET PLATFORM CONTEXT var appServerURL = "corbaloc:iiop:isimsvr:2809"; var platformContextFactory = "com.ibm.itim.apps.impl.websphere.WebSpherePlatformContextFactory"; var ejbUser = "isimsystem@itimCustomRealm"; var ejbPwd = "secret"; var itimRealm = "itimCustomRealm"; var env = new Packages.java.util.Hashtable(); env.put(Packages.com.ibm.itim.apps.InitialPlatformContext.CONTEXT_FACTORY, platformContextFactory); env.put(Packages.com.ibm.itim.apps.InitialPlatformContext.PLATFORM_URL, appServerURL); env.put(Packages.com.ibm.itim.apps.InitialPlatformContext.PLATFORM_PRINCIPAL, ejbUser); env.put(Packages.com.ibm.itim.apps.InitialPlatformContext.PLATFORM_CREDENTIALS, ejbPwd); env.put(Packages.com.ibm.itim.apps.InitialPlatformContext.PLATFORM_REALM, itimRealm); var platform = null; try { platform = new Packages.com.ibm.itim.apps.InitialPlatformContext(env); task.logmsg("Successfully got platform context"); } catch(e) { task.logmsg("Error Class: " + e.getClass()); task.logmsg("Error Message: " + e.getMessage()); task.logmsg("Error LocalizedMessage: " + e.getLocalizedMessage()); var stack = e.getStackTrace(); var i = 0; for(i = 0; i < stack.length; i++) { task.logmsg(stack[i].toString()); } } return platform; } function getSubject() { var itimUser = "itim manager"; var itimPwd = "secret"; var handler = Packages.com.ibm.websphere.security.auth.callback.WSCallbackHandlerImpl(itimUser, "itimCustomRealm", itimPwd); var loginContext = Packages.javax.security.auth.login.LoginContext("WSLogin", handler); try { loginContext.login(); task.logmsg("Logged in"); } catch(e) { task.logmsg("Error Class: " + e.getClass()); task.logmsg("Error Message: " + e.getMessage()); task.logmsg("Error LocalizedMessage: " + e.getLocalizedMessage()); var stack = e.getStackTrace(); var i = 0; for(i = 0; i < stack.length; i++) { task.logmsg(stack[i].toString()); } } return loginContext.getSubject(); } var itimPlatform = getContext(); var subject = getSubject(); var empDN = new Packages.com.ibm.itim.dataservices.model.DistinguishedName("erglobalid=5645389532057114515,ou=0,ou=people,erglobalid=00000000000000000000,ou=culver,dc=com"); task.logmsg("loginContext: "+itimPlatform.toString() + " - " + subject); var employeeMO = new Packages.com.ibm.itim.apps.identity.PersonMO(itimPlatform,subject,empDN); var emp = employeeMO.getData();