Person search example code. This complete the thread :o)
var appServer = "iiop://localhost:2809";
var ejbUser = "itim manager";
var ejbPwd = "passw0rd";
var platformCxtFactory =
"com.ibm.itim.apps.impl.websphere.WebSpherePlatformContextFactory";
var env = new java.util.Hashtable();
env.put(com.ibm.itim.apps.InitialPlatformContext.CONTEXT_FACTORY,platformCxtFactory);
env.put(com.ibm.itim.apps.InitialPlatformContext.PLATFORM_URL,appServer);
//
env.put(com.ibm.itim.apps.InitialPlatformContext.PLATFORM_PRINCIPAL,ejbUser);
//
env.put(com.ibm.itim.apps.InitialPlatformContext.PLATFORM_CREDENTIALS,ejbPwd);
var platform = null;
task.logmsg("Getting context");
platform = com.ibm.itim.apps.InitialPlatformContext(env);
task.logmsg("DEBUG", "Got context");
task.logmsg("Getting handler");
var platformHandler = new
com.ibm.itim.apps.jaas.callback.PlatformCallbackHandler(ejbUser,ejbPwd);
platformHandler.setPlatformContext(platform);
task.logmsg("DEBUG", "Got handler");
task.logmsg("Getting login context");
var loginContext = new javax.security.auth.login.LoginContext("ITIM",
platformHandler);
task.logmsg("DEBUG", "Got handler");
task.logmsg("Logging in..........");
loginContext.login();
task.logmsg("DEBUG", "Logged in");
task.logmsg("Getting subject");
var subject = loginContext.getSubject();
task.logmsg("DEBUG", "Got subject");
// Setup environment properties
var tenantID = "Acme"; // from enrole.properties
// var defaultOrgID = "erglobalid=00000000000000000000";
var ldapServerRoot = "dc=com";
// var defaultOrg = defaultOrgID + ",ou=" + tenantID + ","
+ldapServerRoot;
var searchOrg = "ou=" + tenantID + "," +ldapServerRoot;
//task.logmsg("defaultOrg: " + defaultOrg);
task.logmsg("searchOrg: " + searchOrg);
var personFilter = "(cn=Test Name)";
var loginContext = new javax.security.auth.login.LoginContext("ITIM",
platformHandler);
var searchMO = new com.ibm.itim.apps.search.SearchMO(
platform, subject);
searchMO.setCategory(com.ibm.itim.dataservices.model.ObjectProfileCategory.PERSON);
searchMO.setContext(new
com.ibm.itim.dataservices.model.CompoundDN(com.ibm.itim.dataservices.model.DistinguishedName(searchOrg)));
searchMO.setProfileName("Person");
searchMO.setFilter(personFilter);
task.logmsg(searchMO.toString());
var searchResultsMO = new searchMO.execute();
var people = searchResultsMO.getResults();
task.logmsg("Results returned count: " + people.size());
var person = people.iterator().next();
task.logmsg(person.toString());