Application Delivery Management
Application Modernization & Connectivity
CyberRes
IT Operations Management
Parameter |
---|
Value |
---|
processId |
The LDAP DN of the workflow. Defined by the workflow administrator. This example is using “cn=RequestLinuxAccount, cn=RequestDefs, cn=AppConfig, cn=UserApplication, cn=driverset, o=systems” |
recipient |
The LDAP DN of the user that receive the action. Even if the workflow does not act on the recipient, a valid LDAP DN must be supplied |
dataItem |
Mapping of the following data elements:The available data item keys are specified as part of the provisioning request definition's request form. Each parameter specified on the request form can be specified as a DataItem element.
|
reason |
User Requested Access |
package client.soap.provisioning;
import org.apache.axis.client.Call;
import stubs.provisioning.*;
import javax.xml.rpc.ServiceException;
import javax.xml.rpc.Stub;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
import java.util.*;
public class StartWorkflow {
public static final String SERVICE_ACCOUNT_DN = "cn=padmin,ou=users,o=utopia";
public static final String SERVICE_ACCOUNT_PW = "n0v3ll";
public static final String SERVICE_URL = "http://172.17.2.91:8080/IDM/provisioning/service";
public static final String PROVISIONING_DN = "cn=RequestLinuxAccount, cn=RequestDefs, cn=AppConfig,
cn=UserApplication, cn=driverset, o=system";
public static void main(String[] args)
throws ServiceException, MalformedURLException, RemoteException
{
ProvisioningServiceLocator locater = new ProvisioningServiceLocator();
Provisioning service = locater.getProvisioningPort(new URL(SERVICE_URL));
((Stub)service)._setProperty(Call.USERNAME_PROPERTY, SERVICE_ACCOUNT_DN);
((Stub)service)._setProperty(Call.PASSWORD_PROPERTY, SERVICE_ACCOUNT_PW);
List<DataItem> startRequestDataItem = new ArrayList<DataItem>();
startRequestDataItem.add(new DataItem("reason", new String[] {"User Requested Access”}));
DataItem[] dataItemArray = startRequestDataItem.toArray(new DataItem[startRequestDataItem.size()]);
StartRequest startRequest = new StartRequest();
startRequest.setArg0(PROVISIONING_DN);
startRequest.setArg1("cn=ksmith,ou=users,o=utopia");
startRequest.setArg2(dataItemArray);
StartResponse startResponse = service.start(startRequest);
System.out.println("start workflow complete, processID=" startResponse.getResult());
}
}
start workflow complete, processID=0e2b563d3cf64e838dd671286ef277ad
Parameter |
---|
Value |
---|
arg0 |
The processID of the workflow process. This example is using “0e2b563d3cf64e838dd671286ef277ad”, a value returned as the result of a start() invocation. |
package client.soap.provisioning;
import org.apache.axis.client.Call;
import org.apache.axis.client.Stub;
import stubs.provisioning.*;
import stubs.provisioning.Process;
import javax.xml.rpc.ServiceException;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
public class GetProcessInfo {
public static final String SERVICE_ACCOUNT_DN = "cn=padmin,ou=users,o=utopia";
public static final String SERVICE_ACCOUNT_PW = "n0v3ll";
public static final String SERVICE_URL = "http://172.17.2.91:8080/IDM/provisioning/service";
public static final String REQUEST_ID = "0e2b563d3cf64e838dd671286ef277ad";
public static void main(String[] args)
throws ServiceException, MalformedURLException, RemoteException
{
ProvisioningServiceLocator locater = new ProvisioningServiceLocator();
Provisioning service = locater.getProvisioningPort(new URL(SERVICE_URL));
((Stub)service)._setProperty(Call.USERNAME_PROPERTY, SERVICE_ACCOUNT_DN);
((Stub)service)._setProperty(Call.PASSWORD_PROPERTY, SERVICE_ACCOUNT_PW);
GetProcessRequest getProcessesRequest = new GetProcessRequest();
getProcessesRequest.setArg0(REQUEST_ID);
GetProcessResponse response = service.getProcess(getProcessesRequest);
Process process = response.getProcess();
if (process == null) {
System.out.println("process not found");
System.exit(0);
}
System.out.println("requestID=" process.getRequestId());
System.out.println("processID=" process.getProcessId());
System.out.println("processName=" process.getProcessName());
System.out.println("processStatus=" process.getProcessStatus());
System.out.println("approvalStatus=" process.getApprovalStatus());
System.out.println("recipient=" process.getRecipient());
}
}
requestID=0e2b563d3cf64e838dd671286ef277ad
processID=cn=RequestLinuxAccount, cn=RequestDefs, cn=AppConfig, cn=UserApplication, cn=driverset, o=system
processName=Request Linux Account
processStatus=Completed
approvalStatus=Approved
recipient=cn=ksmith,ou=users,o=utopia
Parameter |
---|
Value |
---|
arg0 |
The LDAP DN of the workflow. Defined by the workflow administrator. This example is using “cn=RequestLinuxAccount, cn=RequestDefs, cn=AppConfig, cn=UserApplication, cn=driverset, o=systems” |
package client.soap.provisioning;
import org.apache.axis.client.Call;
import org.apache.axis.client.Stub;
import stubs.provisioning.*;
import stubs.provisioning.Process;
import javax.xml.rpc.ServiceException;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
public class GetProcessesForWorkflow {
public static final String SERVICE_ACCOUNT_DN = "cn=padmin,ou=users,o=utopia";
public static final String SERVICE_ACCOUNT_PW = "n0v3ll";
public static final String SERVICE_URL = "http://172.17.2.91:8080/IDM/provisioning/service";
public static final String PROVISIONING_DN = "cn=RequestLinuxAccount, cn=RequestDefs, cn=AppConfig, cn=UserApplication,
cn=driverset, o=system";
public static void main(String[] args)
throws ServiceException, MalformedURLException, RemoteException
{
ProvisioningServiceLocator locater = new ProvisioningServiceLocator();
Provisioning service = locater.getProvisioningPort(new URL(SERVICE_URL));
((Stub)service)._setProperty(Call.USERNAME_PROPERTY, SERVICE_ACCOUNT_DN);
((Stub)service)._setProperty(Call.PASSWORD_PROPERTY, SERVICE_ACCOUNT_PW);
GetProcessesByIdRequest getProcessesByIdRequest = new GetProcessesByIdRequest();
getProcessesByIdRequest.setArg0(PROVISIONING_DN);
GetProcessesByIdResponse response = service.getProcessesById(getProcessesByIdRequest);
Process[] processes = response.getProcessArray();
if (processes == null) {
System.out.println("no processes found");
System.exit(0);
}
for (Process process : processes) {
System.out.println("requestID=" process.getRequestId());
System.out.println("processID=" process.getProcessId());
System.out.println("processName=" process.getProcessName());
System.out.println("processStatus=" process.getProcessStatus());
System.out.println("approvalStatus=" process.getApprovalStatus());
System.out.println("recipient=" process.getRecipient());
System.out.println("");
}
}
}
requestID=bef116b378ea445aa0516ee6df3f6901
processID=cn=RequestLinuxAccount, cn=RequestDefs, cn=AppConfig, cn=UserApplication, cn=driverset, o=system
processName=Request Linux Account
processStatus=Running
approvalStatus=Processing
recipient=cn=ksmith,ou=users,o=utopia
requestID=84fad168eb1c45c394fc1f783c180e52
processID=cn=RequestLinuxAccount, cn=RequestDefs, cn=AppConfig, cn=UserApplication, cn=driverset, o=system
processName=Request Linux Account
processStatus=Running
approvalStatus=Processing
recipient=cn=ksmith,ou=users,o=utopia
requestID=490b4d80165e45cfa44f355606e28af8
processID=cn=RequestLinuxAccount, cn=RequestDefs, cn=AppConfig, cn=UserApplication, cn=driverset, o=system
processName=Request Linux Account
processStatus=Running
approvalStatus=Processing
recipient=cn=ksmith,ou=users,o=utopia
requestID=6c7a1ffd73b24b5b905e791a332652a4
processID=cn=RequestLinuxAccount, cn=RequestDefs, cn=AppConfig, cn=UserApplication, cn=driverset, o=system
processName=Request Linux Account
processStatus=Running
approvalStatus=Processing
recipient=cn=ksmith,ou=users,o=utopia
requestID=4d047d7ef6ca4114833f2ae34ab0a01a
processID=cn=RequestLinuxAccount, cn=RequestDefs, cn=AppConfig, cn=UserApplication, cn=driverset, o=system
processName=Request Linux Account
processStatus=Terminated
approvalStatus=Error
recipient=cn=ksmith,ou=users,o=utopia
requestID=2b300f395ec04e51ace50d02426dec49
processID=cn=RequestLinuxAccount, cn=RequestDefs, cn=AppConfig, cn=UserApplication, cn=driverset, o=system
processName=Request Linux Account
processStatus=Terminated
approvalStatus=Error
recipient=cn=ksmith,ou=users,o=utopia
requestID=0e2b563d3cf64e838dd671286ef277ad
processID=cn=RequestLinuxAccount, cn=RequestDefs, cn=AppConfig, cn=UserApplication, cn=driverset, o=system
processName=Request Linux Account
processStatus=Completed
approvalStatus=Approved
recipient=cn=ksmith,ou=users,o=utopia
Parameter |
---|
Value |
---|
arg0 |
User LDAP DN. “cn=ksmith,ou=users,o=utopia” in this example |
arg1 |
“user” The class for users as defined in RBPM. Value is case sensitive. |
arg2 |
“Title” The attribute for Title attributes as defined in the DAL. Value is case sensitive. |
package client.soap.vdx;
import org.apache.axis.client.Call;
import org.apache.axis.client.Stub;
import stubs.vdx.*;
import javax.xml.rpc.ServiceException;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
public class ReadUserData {
public static final String SERVICE_ACCOUNT_DN = "cn=padmin,ou=users,o=utopia";
public static final String SERVICE_ACCOUNT_PW = "n0v3ll";
public static final String SERVICE_URL = "http://172.17.2.91:8080/IDM/vdx/service";
public static final String USER_DN = "cn=ksmith,ou=users,o=utopia";
public static final String USER_ATTRIBUTE_NAME = "Title";
public static void main(final String[] args) throws ServiceException, MalformedURLException, RemoteException {
final VdxServiceLocator locater = new VdxServiceLocator();
final IRemoteVdx service = locater.getIRemoteVdxPort(new URL(SERVICE_URL));
((Stub)service)._setProperty(Call.USERNAME_PROPERTY, SERVICE_ACCOUNT_DN);
((Stub)service)._setProperty(Call.PASSWORD_PROPERTY, SERVICE_ACCOUNT_PW);
GetAttributeRequest request = new GetAttributeRequest();
request.setArg0(USER_DN);
request.setArg1("user");
request.setArg2(USER_ATTRIBUTE_NAME);
GetAttributeResponse response = service.getAttribute(request);
Attribute attribute = response.getResult();
String[] strings = attribute.getStrings();
if (strings.length > 0) {
System.out.println("value=" strings[0]);
} else {
System.out.println("no value returned");
}
}
}
value=Executive Sales Representative
Parameter |
---|
Value |
---|
arg0 |
User LDAP DN. “cn=ksmith,ou=users,o=utopia” in this example |
arg1 |
“user” The class for users as defined in RBPM. Value is case sensitive. |
arg2 |
“Title” The attribute for Title attributes as defined in the DAL. Value is case sensitive. |
arg3 |
Attribute data object with a String AttributeType |
package client.soap.vdx;
import org.apache.axis.client.Call;
import stubs.vdx.*;
import javax.xml.rpc.ServiceException;
import javax.xml.rpc.Stub;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
public class WriteUserData {
public static final String SERVICE_ACCOUNT_DN = "cn=padmin,ou=users,o=utopia";
public static final String SERVICE_ACCOUNT_PW = "n0v3ll";
public static final String SERVICE_URL = "http://172.17.2.91:8080/IDM/vdx/service";
public static final String USER_DN = "cn=ksmith,ou=users,o=utopia";
public static final String USER_ATTRIBUTE_NAME = "Title";
public static final String USER_ATTRIBUTE_VALUE = "Executive Sales Representative";
public static void main(final String[] args) throws ServiceException, MalformedURLException, RemoteException {
final VdxServiceLocator locater = new VdxServiceLocator();
final IRemoteVdx service = locater.getIRemoteVdxPort(new URL(SERVICE_URL));
((Stub)service)._setProperty(Call.USERNAME_PROPERTY, SERVICE_ACCOUNT_DN);
((Stub)service)._setProperty(Call.PASSWORD_PROPERTY, SERVICE_ACCOUNT_PW);
Attribute newPasswordValue = new Attribute();
newPasswordValue.setType(AttributeType.String);
newPasswordValue.setStrings(new String[] {USER_ATTRIBUTE_VALUE});
SetAttributeRequest request = new SetAttributeRequest();
request.setArg0(USER_DN);
request.setArg1("user");
request.setArg2(USER_ATTRIBUTE_NAME);
request.setArg3(newPasswordValue);
service.setAttribute(request);
System.out.println("value set successfully");
}
}
value set successfully
Parameter |
---|
Value |
---|
Query Key |
“user-by-id” |
Entry |
A StringMap containing the following StingEntry element: Key       Value userid       a*Each StringEntry element maps to a query parameter that is defined in the query definition configured by the RBPM administrator. |
package client.soap.vdx;
import org.apache.axis.client.Call;
import stubs.vdx.*;
import javax.xml.rpc.ServiceException;
import javax.xml.rpc.Stub;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
public class UserSearch {
public static final String SERVICE_ACCOUNT_DN = "cn=padmin,ou=users,o=utopia";
public static final String SERVICE_ACCOUNT_PW = "n0v3ll";
public static final String SERVICE_URL = "http://172.17.2.91:8080/IDM/vdx/service";
public static final String QUERY_KEY = "user-by-id";
public static final String QUERY_PARAMETER_1 = "userid";
public static final String QUERY_PARAMETER_1_VALUE = "a*";
public static void main(final String[] args) throws ServiceException, MalformedURLException, RemoteException {
final VdxServiceLocator locater = new VdxServiceLocator();
final IRemoteVdx service = locater.getIRemoteVdxPort(new URL(SERVICE_URL));
((Stub)service)._setProperty(Call.USERNAME_PROPERTY, SERVICE_ACCOUNT_DN);
((Stub)service)._setProperty(Call.PASSWORD_PROPERTY, SERVICE_ACCOUNT_PW);
StringMap stringMap = new StringMap();
StringEntry stringEntry = new StringEntry();
stringEntry.setKey(QUERY_PARAMETER_1);
stringEntry.setValues(QUERY_PARAMETER_1_VALUE);
stringMap.setEntries(new StringEntry[] { stringEntry });
GlobalQueryRequest request = new GlobalQueryRequest();
request.setArg0(QUERY_KEY);
request.setArg1(stringMap);
GlobalQueryResponse response = service.globalQuery(request);
String[] entityAttributeMap = response.getResult();
for (String entry : entityAttributeMap) {
System.out.println(entry);
}
}
}
cn=asmith,ou=users,o=utopia
cn=achung,ou=users,o=utopia
cn=ablake,ou=users,o=utopia
cn=apalani,ou=users,o=utopia
cn=aspencer,ou=users,o=utopia
package client.soap.roles;
import org.apache.axis.client.Call;
import stubs.role.*;
import javax.xml.rpc.ServiceException;
import javax.xml.rpc.Stub;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
public class ReadAllRoles {
public static final String SERVICE_ACCOUNT_DN = "cn=padmin,ou=users,o=utopia";
public static final String SERVICE_ACCOUNT_PW = "n0v3ll";
public static final String SERVICE_URL = "http://172.17.2.91:8080/IDM/role/service";
public static void main(final String[] args) throws ServiceException, MalformedURLException, RemoteException {
final RoleServiceLocator locater = new RoleServiceLocator();
final IRemoteRole service = locater.getIRemoteRolePort(new URL(SERVICE_URL));
((Stub)service)._setProperty(Call.USERNAME_PROPERTY, SERVICE_ACCOUNT_DN);
((Stub)service)._setProperty(Call.PASSWORD_PROPERTY, SERVICE_ACCOUNT_PW);
Role exampleRole = new Role();
exampleRole.setName("*");
FindRoleByExampleWithOperatorRequest request = new FindRoleByExampleWithOperatorRequest();
request.setRole(exampleRole);
FindRoleByExampleWithOperatorResponse response = service.findRoleByExampleWithOperator(request);
final Role[] roles = response.getResult();
for(Role role : roles) {
System.out.println("role name: " role.getName());
System.out.println("role key: " role.getEntityKey());
System.out.println("role description: " role.getDescription());
System.out.println("");
}
}
}
package client.soap.roles;
import org.apache.axis.client.Call;
import stubs.role.*;
import javax.xml.rpc.ServiceException;
import javax.xml.rpc.Stub;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
public class ReadRoleCategories {
public static final String SERVICE_ACCOUNT_DN = "cn=padmin,ou=users,o=utopia";
public static final String SERVICE_ACCOUNT_PW = "n0v3ll";
public static final String SERVICE_URL = "http://172.17.2.91:8080/IDM/role/service";
public static void main(final String[] args)
throws ServiceException, MalformedURLException, RemoteException
{
final RoleServiceLocator locater = new RoleServiceLocator();
final IRemoteRole service = locater.getIRemoteRolePort(new URL(SERVICE_URL));
((Stub)service)._setProperty(Call.USERNAME_PROPERTY, SERVICE_ACCOUNT_DN);
((Stub)service)._setProperty(Call.PASSWORD_PROPERTY, SERVICE_ACCOUNT_PW);
GetRoleCategoriesRequest request = new GetRoleCategoriesRequest();
GetRoleCategoriesResponse response = service.getRoleCategories(request);
final Category[] roleCategories = response.getResult();
for(Category category : roleCategories) {
System.out.println("category key: " category.getCategoryKey());
System.out.println("category label: " category.getCategoryLabel());
System.out.println("");
}
}
}
category key: hr
category label: Human Resources
category key: is
category label: Information Services
category key: system
category label: System Roles
category key: default
category label: Default
category key: marketing
category label: Marketing
category key: sales
category label: Sales
category key: global
category label: Global
category key: operations
category label: Operations
category key: accounting
category label: Accounting
package client.soap.roles;
import org.apache.axis.client.Call;
import stubs.role.*;
import javax.xml.rpc.ServiceException;
import javax.xml.rpc.Stub;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
public class ReadRoleAssignments {
public static final String SERVICE_ACCOUNT_DN = "cn=padmin,ou=users,o=utopia";
public static final String SERVICE_ACCOUNT_PW = "n0v3ll";
public static final String SERVICE_URL ="http://172.17.2.91:8080/IDM/role/service";
public static final String USER_DN = "cn=ksmith,ou=users,o=utopia";
public static void main(final String[] args) throws ServiceException, MalformedURLException, RemoteException {
final RoleServiceLocator locater = new RoleServiceLocator();
final IRemoteRole service = locater.getIRemoteRolePort(new URL(SERVICE_URL));
((Stub)service)._setProperty(Call.USERNAME_PROPERTY, SERVICE_ACCOUNT_DN);
((Stub)service)._setProperty(Call.PASSWORD_PROPERTY, SERVICE_ACCOUNT_PW);
GetUserRequest request = new GetUserRequest();
request.setUserDN(USER_DN);
GetUserResponse response = service.getUser(request);
User theUser = response.getResult();
System.out.println("user: " theUser.getEntityKey());
RoleAssignment[] roleAssignments = theUser.getRoleAssignments();
for (RoleAssignment roleAssignment : roleAssignments) {
final Role role = service.getRole(new GetRoleRequest(roleAssignment.getRole())).getResult();
System.out.println(" role name=" role.getName());
System.out.println(" role key=" role.getEntityKey());
System.out.println(" assignment type: " roleAssignment.getAssignmentType() );
System.out.println("");
}
}
}
user: cn=ksmith,ou=users,o=utopia
role name=Tokyo
role
key=cn=Tokyo,cn=Locations,cn=Level30,cn=RoleDefs,cn=RoleConfig,cn=AppConfig,cn=UserApplication,cn=driverset,o=system
assignment type: USER_TO_ROLE
role name=Operations
role
key=cn=Operations,cn=Departments,cn=Level30,cn=RoleDefs,cn=RoleConfig,cn=AppConfig,cn=UserApplication,cn=driverset,o=syst
em
assignment type: USER_TO_ROLE
role name=Sales
role
key=cn=Sales,cn=Departments,cn=Level30,cn=RoleDefs,cn=RoleConfig,cn=AppConfig,cn=UserApplication,cn=driverset,o=system
assignment type: USER_TO_ROLE
package client.soap.roles;
import org.apache.axis.client.Call;
import stubs.role.*;
import javax.xml.rpc.ServiceException;
import javax.xml.rpc.Stub;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
public class AddRoleAssignment {
public static String ROLE_DN = "cn=Accounts
Payable,cn=Departments,cn=Level30,cn=RoleDefs,cn=RoleConfig,cn=AppConfig,cn=UserApplication,cn=driverset,o=system";
public static final String SERVICE_ACCOUNT_DN = "cn=padmin,ou=users,o=utopia";
public static final String SERVICE_ACCOUNT_PW = "n0v3ll";
public static final String SERVICE_URL = "http://172.17.2.91:8080/IDM/role/service";
public static final String USER_DN = "cn=ablake,ou=users,o=utopia";
public static void main(final String[] args)
throws ServiceException, MalformedURLException, RemoteException
{
final RoleServiceLocator locater = new RoleServiceLocator();
final IRemoteRole service = locater.getIRemoteRolePort(new URL(SERVICE_URL));
((Stub)service)._setProperty(Call.USERNAME_PROPERTY, SERVICE_ACCOUNT_DN);
((Stub)service)._setProperty(Call.PASSWORD_PROPERTY, SERVICE_ACCOUNT_PW);
RoleAssignmentRequest roleAssignmentRequest = new RoleAssignmentRequest();
roleAssignmentRequest.setActionType(RoleAssignmentActionType.grant);
roleAssignmentRequest.setAssignmentType(RoleAssignmentType.USER_TO_ROLE);
roleAssignmentRequest.setIdentity(USER_DN);
roleAssignmentRequest.setReason("the reason");
roleAssignmentRequest.setRoles(new DNString[]{new DNString(ROLE_DN)});
RequestRolesAssignmentRequest requestRolesAssignmentRequest = new RequestRolesAssignmentRequest();
requestRolesAssignmentRequest.setAssignRequest(roleAssignmentRequest);
service.requestRolesAssignment(requestRolesAssignmentRequest);
System.out.println("grant role assignment successful");
}
}
package client.soap.roles;
import org.apache.axis.client.Call;
import stubs.role.*;
import javax.xml.rpc.ServiceException;
import javax.xml.rpc.Stub;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
public class RevokeRoleAssignment {
public static String ROLE_DN = "cn=Accounts Payable
Employee,cn=Departments,cn=Level30,cn=RoleDefs,cn=RoleConfig,cn=AppConfig,cn=UserApplication,cn=driverset,o=system";
public static final String SERVICE_ACCOUNT_DN = "cn=padmin,ou=users,o=utopia";
public static final String SERVICE_ACCOUNT_PW = "n0v3ll";
public static final String SERVICE_URL = "http://172.17.2.91:8080/IDM/role/service";
public static final String USER_DN = "cn=ksmith,ou=users,o=utopia";
public static void main(final String[] args) throws ServiceException, MalformedURLException, RemoteException {
final RoleServiceLocator locater = new RoleServiceLocator();
final IRemoteRole service = locater.getIRemoteRolePort(new URL(SERVICE_URL));
((Stub)service)._setProperty(Call.USERNAME_PROPERTY, SERVICE_ACCOUNT_DN);
((Stub)service)._setProperty(Call.PASSWORD_PROPERTY, SERVICE_ACCOUNT_PW);
RoleAssignmentRequest roleAssignmentRequest = new RoleAssignmentRequest();
roleAssignmentRequest.setActionType(RoleAssignmentActionType.revoke);
roleAssignmentRequest.setAssignmentType(RoleAssignmentType.USER_TO_ROLE);
roleAssignmentRequest.setIdentity(USER_DN);
roleAssignmentRequest.setReason("cuz!");
roleAssignmentRequest.setRoles(new DNString[]{new DNString(ROLE_DN)});
RequestRolesAssignmentRequest requestRolesAssignmentRequest = new RequestRolesAssignmentRequest();
requestRolesAssignmentRequest.setAssignRequest(roleAssignmentRequest);
service.requestRolesAssignment(requestRolesAssignmentRequest);
System.out.println("role revoke assignment successful");
}
}
package client.soap.resources;
import org.apache.axis.client.Call;
import org.apache.axis.client.Stub;
import stubs.resource.*;
import javax.xml.rpc.ServiceException;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
public class ReadUserResources {
public static final String SERVICE_ACCOUNT_DN = "cn=padmin,ou=users,o=utopia";
public static final String SERVICE_ACCOUNT_PW = "n0v3ll";
public static final String USER_DN = "cn=ksmith,ou=users,o=utopia";
public static final String SERVICE_URL = "http://172.17.2.91:8080/IDM/resource/service";
public static void main(final String[] args) throws ServiceException, MalformedURLException, RemoteException {
final ResourceServiceLocator locater = new ResourceServiceLocator();
final IRemoteResource service = locater.getIRemoteResourcePort(new URL(SERVICE_URL));
((Stub)service)._setProperty(Call.USERNAME_PROPERTY, SERVICE_ACCOUNT_DN);
((Stub)service)._setProperty(Call.PASSWORD_PROPERTY, SERVICE_ACCOUNT_PW);
GetResourceAssignmentsForUserRequest request = new GetResourceAssignmentsForUserRequest();
request.setUserDn(USER_DN);
GetResourceAssignmentsForUserResponse response = service.getResourceAssignmentsForUser(request);
ResourceAssignment[] assignment = response.getResult();
for(ResourceAssignment resourceAssignment : assignment) {
System.out.println("recipientDn: " resourceAssignment.getRecipientDn());
System.out.println("resourceDn: " resourceAssignment.getResourceDn());
System.out.println("reason: " resourceAssignment.getReason());
System.out.println("");
}
}
}
package client.soap.resources;
import org.apache.axis.client.Call;
import org.apache.axis.client.Stub;
import stubs.resource.*;
import javax.xml.rpc.ServiceException;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
public class AddResourceAssignment {
public static final String SERVICE_ACCOUNT_DN = "cn=padmin,ou=users,o=utopia";
public static final String SERVICE_ACCOUNT_PW = "n0v3ll";
public static final String USER_DN = "cn=ksmith,ou=users,o=utopia";
public static final String RESOURCE_DN =
"cn=Linux,cn=ResourceDefs,cn=RoleConfig,cn=AppConfig,cn=UserApplication,cn=driverset,o=system";
public static final String SERVICE_URL = "http://172.17.2.91:8080/IDM/resource/service";
public static void main(final String[] args) throws ServiceException, MalformedURLException, RemoteException {
final ResourceServiceLocator locater = new ResourceServiceLocator();
final IRemoteResource service = locater.getIRemoteResourcePort(new URL(SERVICE_URL));
((Stub)service)._setProperty(Call.USERNAME_PROPERTY, SERVICE_ACCOUNT_DN);
((Stub)service)._setProperty(Call.PASSWORD_PROPERTY, SERVICE_ACCOUNT_PW);
RequestResourceGrantRequest request = new RequestResourceGrantRequest();
request.setResourceTarget(RESOURCE_DN);
request.setUserTarget(USER_DN);
RequestResourceGrantResponse response = service.requestResourceGrant(request);
final String result = response.getResult();
System.out.println("result=" result);
}
}
package client.soap.resources;
import org.apache.axis.client.Call;
import org.apache.axis.client.Stub;
import stubs.resource.*;
import javax.xml.rpc.ServiceException;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
public class RevokeResourceAssignment {
public static final String SERVICE_ACCOUNT_DN = "cn=padmin,ou=users,o=utopia";
public static final String SERVICE_ACCOUNT_PW = "n0v3ll";
public static final String USER_DN = "cn=ksmith,ou=users,o=utopia";
public static final String RESOURCE_DN =
"cn=Linux,cn=ResourceDefs,cn=RoleConfig,cn=AppConfig,cn=UserApplication,cn=driverset,o=system";
public static final String SERVICE_URL = "http://172.17.2.91:8080/IDM/resource/service";
public static void main(final String[] args) throws ServiceException, MalformedURLException, RemoteException {
final ResourceServiceLocator locater = new ResourceServiceLocator();
final IRemoteResource service = locater.getIRemoteResourcePort(new URL(SERVICE_URL));
((Stub)service)._setProperty(Call.USERNAME_PROPERTY, SERVICE_ACCOUNT_DN);
((Stub)service)._setProperty(Call.PASSWORD_PROPERTY, SERVICE_ACCOUNT_PW);
RequestResourceRevokeRequest request = new RequestResourceRevokeRequest();
request.setResourceTarget(RESOURCE_DN);
request.setUserTarget(USER_DN);
RequestResourceRevokeResponse response = service.requestResourceRevoke(request);
final String result = response.getResult();
System.out.println("result=" result);
}
}
# |
---|
Method |
---|
Purpose |
---|
1 |
processUser |
Initiate the process for the user, and read the user’s challenge questions. If the user has any “random” password responses, a random selection of the minimum required randoms will be presented here. |
2 |
processChaRes |
Send the user’s response answers back and validate them. This method can be called repeatedly until it succeeds. However, each incorrect attempt counts as an invalid password authentication and will eventually trip the automatic Intruder Detection feature. |
3 |
processChgPwd |
Once the processChaRes method succeeds, this method is used to modify the user’s password using a user supplied parameter. |
((Stub)service)._setProperty(javax.xml.rpc.Stub.SESSION_MAINTAIN_PROPERTY, Boolean.TRUE);
package client.soap.password;
import stubs.pwdmgmt.*;
import javax.xml.rpc.ServiceException;
import javax.xml.rpc.Stub;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ForgottenPassword {
final static String USER_DN = "cn=ksmith,ou=users,o=utopia";
final static String SERVICE_URL = "http://172.17.2.91:8080/IDM/pwdmgt/service";
final static String NEW_PASSWORD = "newPw1234";
final static String NEW_PASSWORD_CONFIRM = "newPw1234";
final static Map<String,String> USER_RESPONSES = new HashMap<String,String>();
static {
USER_RESPONSES.put("question0","response0");
USER_RESPONSES.put("question1","response1");
USER_RESPONSES.put("question2","response2");
USER_RESPONSES.put("question3","response3");
USER_RESPONSES.put("question4","response4");
}
public static void main(final String[] args) throws ServiceException, MalformedURLException, RemoteException {
/* Setup Axis SOAP connection */
final PasswordManagementServiceLocator locater = new PasswordManagementServiceLocator();
final PasswordManagement service = locater.getPasswordManagementPort(new URL(SERVICE_URL));
// make sure the HTTP session is maintained over the three iterative API calls. If the
// HTTP session is not maintained, this api's "timeout" will be set to true and the action
// will fail. The session (service instance) should be discarded once the operation
// for a particular user is completed.
((Stub)service)._setProperty(javax.xml.rpc.Stub.SESSION_MAINTAIN_PROPERTY, Boolean.TRUE);
/* Begin the processUser() API call */
System.out.println("--processUser--");
ProcessUserRequest userRequest = new ProcessUserRequest(USER_DN);
ForgotPasswordWSBean processUserResponse = service.processUser(userRequest);
System.out.println("msg=" processUserResponse.getMessage());
System.out.println("error=" processUserResponse.isError());
System.out.println("timeout=" processUserResponse.isTimeout());
System.out.println("action=" processUserResponse.getAction());
System.out.println("getUsers.length=" processUserResponse.getUsers().length);
if (processUserResponse.getChallengeQuestions() != null) {
for (String c: processUserResponse.getChallengeQuestions()) {
System.out.println("q=" c);
}
}
if (processUserResponse.isError() || processUserResponse.isTimeout()) {
System.out.println("exiting due to error or timeout");
System.exit(-1);
}
/* Begin the processChaRes() API call */
System.out.println("--processChaRes--");
final String[] userResponses = makeResponsesArray(processUserResponse.getChallengeQuestions());
ProcessChaResRequest chaResRequest = new ProcessChaResRequest(
USER_DN,
userResponses);
chaResRequest.setUserDN(USER_DN);
ForgotPasswordWSBean processChaResResponse = service.processChaRes(chaResRequest);
System.out.println("msg=" processChaResResponse.getMessage());
System.out.println("error=" processChaResResponse.isError());
System.out.println("timeout=" processChaResResponse.isTimeout());
System.out.println("locked=" processChaResResponse.getLocked());
System.out.println("rules=" processChaResResponse.getRules());
if (processChaResResponse.isError() || processChaResResponse.isTimeout()) {
System.out.println("exiting due to error or timeout");
System.exit(-1);
}
/* Begin the processChgPwd() API call */
System.out.println("--processChgPwd--");
ProcessChgPwdRequest chgPwdRequest = new ProcessChgPwdRequest(
USER_DN,
NEW_PASSWORD,
NEW_PASSWORD_CONFIRM
);
ForgotPasswordWSBean processChgPwdResponse = service.processChgPwd(chgPwdRequest);
System.out.println("msg=" processChgPwdResponse.getMessage());
System.out.println("error=" processChgPwdResponse.isError());
if (processChaResResponse.isError() || processChaResResponse.isTimeout()) {
System.out.println("--operation failure due to error or timeout--");
} else {
System.out.println("--operation success--");
}
}
static String[] makeResponsesArray(String[] questions) {
List<String> responses = new ArrayList<String>();
for (String question : questions) {
if (USER_RESPONSES.containsKey(question)) {
responses.add(USER_RESPONSES.get(question));
}
}
return responses.toArray(new String[responses.size()]);
}
}
Method |
---|
Error Message |
---|
Description |
---|
processChaRes |
Challenge response failed. |
Incorrect Responses |
processChaRes |
Hint was not defined. |
does not set isError()==true, can be ignored as hint is not being used |
processChaRes |
All fields are required. |
Empty response array |
processChgPwd |
Passwords must match. |
Different new/confirm passwords |
processChgPwd |
All fields are required. |
Empty new/confirm passwords |
processChgPwd |
Password does not meet the minimum numeric character requirement. |
If password does not meet AD complexity and has no numbers |
processChgPwd |
Password is too short. |
new password is not long enough |
processChgPwd |
Password attribute violation has been detected. |
If password is same as first, last, full, email or loginID |
processChgPwd |
Password is on the exclusion list. |
If password == 'password' or other value explicitly excluded |
processChgPwd |
Password does not meet the uppercase character minimum requirement. |
If password does not meet AD complexity and has no letters |
processChgPwd |
[remote NullPointerException ] |
Password > 517 chars |
processUser |
Password is not unique. |
if password used previously |
processUser |
Forgot password feature disabled. |
If password policy has forgotten password disabled |
processUser |
Answers to challenge response questions have not been set, or cannot be read at this time. |
Responses not saved |
processUser |
Account restrictions prevent you from logging in. See your administrator for more details. |
loginDisabled=true or lockedByIntruder=true |
Field Name |
---|
Field Value |
---|
oldPassword |
novell |
newPassword |
newPw1234 |
retypeNewPassword |
newPw1234 |
package client.rest.password;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
public class ChangePassword {
public static final String SERVICE_URL = "http://172.17.2.91:8080/IDM/roa/v1/pwdmgt/user/";
public static final String USER_DN = "cn=ksmith,ou=users,o=utopia";
public static final String CURRENT_PASSWORD = "novell";
public static final String NEW_PASSWORD = "newPw1234";
public static void main(String[] args) throws IOException {
String authString = USER_DN ":" CURRENT_PASSWORD;
String b64encodedAuthString = new sun.misc.BASE64Encoder().encode(authString.getBytes());
URL restURL = new URL(SERVICE_URL USER_DN "/password");
HttpURLConnection passwordURL = (HttpURLConnection) restURL.openConnection();
passwordURL.setRequestMethod("POST");
passwordURL.setRequestProperty("RESTAuthorization", b64encodedAuthString);
passwordURL.setDoOutput(true);
passwordURL.connect();
StringBuilder postBody = new StringBuilder();
postBody.append("oldPassword=" CURRENT_PASSWORD);
postBody.append("&");
postBody.append("newPassword=" NEW_PASSWORD);
postBody.append("&");
postBody.append("retypeNewPassword=" NEW_PASSWORD);
OutputStream postOutputStream = passwordURL.getOutputStream();
postOutputStream.write(postBody.toString().getBytes());
postOutputStream.close();
InputStream in = passwordURL.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String text = reader.readLine();
System.out.println(text);
passwordURL.disconnect();
}
}
[{"pwdChgRtnPage":"","accessMgr":"false","pwd_chg_rtn_page":"Password Change Return Page","success_message":"Your
password has been changed successfully."}]
package client.rest.password;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
public class SetResponses {
public static final String SERVICE_URL = "http://172.17.2.91:8080/IDM/roa/v1/pwdmgt/user/";
public static final String USER_DN = "cn=ksmith,ou=users,o=utopia";
public static final String CURRENT_PASSWORD = "novell";
public static void main(String[] args) throws IOException {
String authString = USER_DN ":" CURRENT_PASSWORD;
String b64encodedAuthString = new sun.misc.BASE64Encoder().encode(authString.getBytes());
URL restURL = new URL(SERVICE_URL USER_DN "/chares");
HttpURLConnection passwordURL = (HttpURLConnection) restURL.openConnection();
passwordURL.setRequestMethod("POST");
passwordURL.setRequestProperty("RESTAuthorization", b64encodedAuthString);
passwordURL.setDoOutput(true);
passwordURL.connect();
StringBuilder postBody = new StringBuilder();
postBody.append("_question0=" "question0");
postBody.append("&");
postBody.append("_question1=" "question1");
postBody.append("&");
postBody.append("_question2=" "question2");
postBody.append("&");
postBody.append("_answer0=" "response0");
postBody.append("&");
postBody.append("_answer1=" "response1");
postBody.append("&");
postBody.append("_answer2=" "response2");
OutputStream postOutputStream = passwordURL.getOutputStream();
postOutputStream.write(postBody.toString().getBytes());
postOutputStream.close();
InputStream in = passwordURL.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String text = reader.readLine();
System.out.println(text);
passwordURL.disconnect();
}
}
[{"success_message":"Challenge responses were saved successfully"}]
package client.rest.password;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
public class RetrieveChallenges {
public static final String SERVICE_URL = "http://172.17.2.91:8080/IDM/roa/v1/pwdmgt/user/";
public static final String USER_DN = "cn=ksmith,ou=users,o=utopia";
public static final String USER_PASSWORD = "novell";
public static void main(String[] args) throws IOException {
String authString = USER_DN ":" USER_PASSWORD;
String b64encodedAuthString = new sun.misc.BASE64Encoder().encode(authString.getBytes());
URL restURL = new URL(SERVICE_URL USER_DN "/chares");
HttpURLConnection passwordURL = (HttpURLConnection) restURL.openConnection();
passwordURL.setRequestMethod("GET");
passwordURL.setRequestProperty("RESTAuthorization", b64encodedAuthString);
passwordURL.setDoOutput(true);
passwordURL.connect();
InputStream in = passwordURL.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String text = reader.readLine();
System.out.println(text);
passwordURL.disconnect();
}
}
[{},{"have_stored_challenges":"true","use_mask":"false"},{"0":"question0","1":"question1","2":"question2"},{},
{"use_grace_login":"true","grace_login_remaining":"4"}]
package client.rest.identities;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class ReadAllIdentities {
public static final String SERVICE_URL = "http://172.17.2.91:8080/RIS/v1/identities";
public static final String ADMIN_DN = "cn=padmin,ou=users,o=utopia";
public static final String ADMIN_PW = "n0v3ll";
public static void main(String[] args) throws IOException {
String authString = ADMIN_DN ":" ADMIN_PW;
String b64encodedAuthString = new sun.misc.BASE64Encoder().encode(authString.getBytes());
URL restURL = new URL(SERVICE_URL );
System.out.println("calling url: " restURL.toString());
HttpURLConnection identitiesURL = (HttpURLConnection) restURL.openConnection();
identitiesURL.setRequestMethod("GET");
identitiesURL.setRequestProperty("RESTAuthorization", b64encodedAuthString);
identitiesURL.connect();
System.out.println("response code: " identitiesURL.getResponseCode());
if (identitiesURL.getResponseCode() == 200) {
identitiesURL.getContentLength();
InputStream in = identitiesURL.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String text = reader.readLine();
System.out.println(text);
}
identitiesURL.disconnect();
}
}
[{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn=zz,ou=users,o
=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"003c080378ae7e4341af003c080378ae","Link":"/RIS/v1/identities/003c080378ae7e4341af003c080378ae","DN"
:"cn=zz,ou=users,o=utopia","FirstName":["zz"],"LastName":["zz"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entitydefinition-
key=user&entity-key=cn=zz,ou=users,o=utopia&attribute-key=UserPhoto","Title":[""],"TelephoneNumber":
[],"Department":[""],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=zort,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"0ebb55f07f0e9f4a8c920ebb55f07f0e","Link":"/RIS/v1/identities/0ebb55f07f0e9f4a8c920ebb55f07f0e","DN"
:"cn=zort,ou=users,o=utopia","FirstName":["jason"],"LastName":
["jason"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=zort,ou=users,o=utopia&attribute-key=UserPhoto","Title":[""],"TelephoneNumber":[],"Department":[""],"Location":
[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn=cnano,ou
=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"afa0c14227d675406f87afa0c14227d6","Link":"/RIS/v1/identities/afa0c14227d675406f87afa0c14227d6","DN"
:"cn=cnano,ou=users,o=utopia","FirstName":["Chip"],"LastName":["Nano"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?
entity-definition-key=user&entity-key=cn=cnano,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Chief Information
Officer"],"TelephoneNumber":[],"Department":["Information Services"],"Location":[],"Email":[]},{"Managers":[],"Groups":
[],"Links":[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn=rogueadmin,ou=users,o
=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"49a5f16b65bbf1442cb649a5f16b65bb","Link":"/RIS/v1/identities/49a5f16b65bbf1442cb649a5f16b65bb","DN"
:"cn=rogueadmin,ou=users,o=utopia","FirstName":["rogue"],"LastName":
["admin"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=rogueadmin,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Rogue Administrator"],"TelephoneNumber":
[],"Department":[""],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=tina,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"30373f5f521fdc0180b0ba0003000000","Link":"/RIS/v1/identities/30373f5f521fdc0180b0ba0003000000","DN"
:"cn=tina,ou=users,o=utopia","FirstName":["Tina"],"LastName":
["Novell"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=tina,ou=users,o=utopia&attribute-key=UserPhoto","Title":[""],"TelephoneNumber":[],"Department":[""],"Location":
[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn=bob,ou
=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"70d12855521fdc0180e07a0003000000","Link":"/RIS/v1/identities/70d12855521fdc0180e07a0003000000","DN"
:"cn=bob,ou=users,o=utopia","FirstName":["Bob"],"LastName":["Novell"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?
entity-definition-key=user&entity-key=cn=bob,ou=users,o=utopia&attribute-key=UserPhoto","Title":[""],"TelephoneNumber":
[],"Department":[""],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=cblack,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"a0fd234371f2db0180819c0003000000","Link":"/RIS/v1/identities/a0fd234371f2db0180819c0003000000","DN"
:"cn=cblack,ou=users,o=utopia","FirstName":["Chris"],"LastName":
["Black"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=cblack,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Sales Director, Black"],"TelephoneNumber":
[],"Department":["Sales"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=jwest,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"e0d1744271f2db0180819c0003000000","Link":"/RIS/v1/identities/e0d1744271f2db0180819c0003000000","DN"
:"cn=jwest,ou=users,o=utopia","FirstName":["Jay"],"LastName":["West"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?
entity-definition-key=user&entity-key=cn=jwest,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Sales Director,
West"],"TelephoneNumber":[],"Department":["Sales"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":
[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn=bbender,ou=users,o
=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"50eda34171f2db0180819c0003000000","Link":"/RIS/v1/identities/50eda34171f2db0180819c0003000000","DN"
:"cn=bbender,ou=users,o=utopia","FirstName":["Bill"],"LastName":
["Bender"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=bbender,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Technical Account Manager"],"TelephoneNumber":
[],"Department":["Sales"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=asmith,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"7055f94071f2db0180819c0003000000","Link":"/RIS/v1/identities/7055f94071f2db0180819c0003000000","DN"
:"cn=asmith,ou=users,o=utopia","FirstName":["April"],"LastName":
["Smith"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=asmith,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Account Exectuive"],"TelephoneNumber":
[],"Department":["Sales"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=ksmith,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"10aa324071f2db0180819c0003000000","Link":"/RIS/v1/identities/10aa324071f2db0180819c0003000000","DN"
:"cn=ksmith,ou=users,o=utopia","FirstName":["Kate"],"LastName":
["Smith"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=ksmith,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Executive Sales Representative"],"TelephoneNumber":
[],"Department":["Sales"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=ssouth,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"60ff743f71f2db0180819c0003000000","Link":"/RIS/v1/identities/60ff743f71f2db0180819c0003000000","DN"
:"cn=ssouth,ou=users,o=utopia","FirstName":["Sally"],"LastName":
["South"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=ssouth,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Sales Director, Southeast"],"TelephoneNumber":
[],"Department":["Sales"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=jbrown,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"602c353e71f2db0180819c0003000000","Link":"/RIS/v1/identities/602c353e71f2db0180819c0003000000","DN"
:"cn=jbrown,ou=users,o=utopia","FirstName":["Jane"],"LastName":
["Brown"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=jbrown,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Technical Account Manager"],"TelephoneNumber":
[],"Department":["Sales"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=kcarson,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"10b6423d71f2db0180819c0003000000","Link":"/RIS/v1/identities/10b6423d71f2db0180819c0003000000","DN"
:"cn=kcarson,ou=users,o=utopia","FirstName":["Ken"],"LastName":
["Carson"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=kcarson,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Account Executive"],"TelephoneNumber":
[],"Department":["Sales"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=bjenner,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"f05a5f3c71f2db0180819c0003000000","Link":"/RIS/v1/identities/f05a5f3c71f2db0180819c0003000000","DN"
:"cn=bjenner,ou=users,o=utopia","FirstName":["Bob"],"LastName":
["Jenner"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=bjenner,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Account Executive"],"TelephoneNumber":
[],"Department":["Marketing"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":
[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn=bjones,ou=users,o
=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"90209b3b71f2db0180819c0003000000","Link":"/RIS/v1/identities/90209b3b71f2db0180819c0003000000","DN"
:"cn=bjones,ou=users,o=utopia","FirstName":["Brad"],"LastName":
["Jones"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=bjones,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Account Executive"],"TelephoneNumber":
[],"Department":["Sales"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=kchang,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"e0b8bd3a71f2db0180819c0003000000","Link":"/RIS/v1/identities/e0b8bd3a71f2db0180819c0003000000","DN"
:"cn=kchang,ou=users,o=utopia","FirstName":["Kevin"],"LastName":
["Chang"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=kchang,ou=users,o=utopia&attribute-ke
y=UserPhoto","Title":["Account Executive"],"TelephoneNumber":[],"Department":["Sales"],"Location":[],"Email":[]},
{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn=nnorth,ou=users,o
=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"40982e3a71f2db0180819c0003000000","Link":"/RIS/v1/identities/40982e3a71f2db0180819c0003000000","DN"
:"cn=nnorth,ou=users,o=utopia","FirstName":["Ned"],"LastName":
["North"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=nnorth,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Director, Northeast Sales"],"TelephoneNumber":
[],"Department":["Sales"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=bburke,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"d0be7d3971f2db0180819c0003000000","Link":"/RIS/v1/identities/d0be7d3971f2db0180819c0003000000","DN"
:"cn=bburke,ou=users,o=utopia","FirstName":["Bill"],"LastName":
["Burke"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=bburke,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Sales Manager, Central"],"TelephoneNumber":
[],"Department":["Sales"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=ccentral,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"9096c33871f2db0180819c0003000000","Link":"/RIS/v1/identities/9096c33871f2db0180819c0003000000","DN"
:"cn=ccentral,ou=users,o=utopia","FirstName":["Cal"],"LastName":
["Central"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=ccentral,ou=users,o=utopia&attribute-key=UserPhoto","Title":["VP, North American Sales"],"TelephoneNumber":
[],"Department":["Sales"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=kkeller,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"4083ff3771f2db0180819c0003000000","Link":"/RIS/v1/identities/4083ff3771f2db0180819c0003000000","DN"
:"cn=kkeller,ou=users,o=utopia","FirstName":["Kip"],"LastName":
["Keller"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=kkeller,ou=users,o=utopia&attribute-key=UserPhoto","Title":["VP, North American Sales"],"TelephoneNumber":
[],"Department":["Sales"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=achung,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"e023563771f2db0180819c0003000000","Link":"/RIS/v1/identities/e023563771f2db0180819c0003000000","DN"
:"cn=achung,ou=users,o=utopia","FirstName":["Angie"],"LastName":
["Chung"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=achung,ou=users,o=utopia&attribute-key=UserPhoto","Title":["VP, AsiaPAC Sales"],"TelephoneNumber":
[],"Department":["Sales"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=eeuro,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"a0986d3671f2db0180819c0003000000","Link":"/RIS/v1/identities/a0986d3671f2db0180819c0003000000","DN"
:"cn=eeuro,ou=users,o=utopia","FirstName":["Ernie"],"LastName":
["Euro"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=eeuro,ou=users,o=utopia&attribute-key=UserPhoto","Title":["VP, European Sales"],"TelephoneNumber":
[],"Department":["Sales"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=rcastro,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"905da03571f2db0180819c0003000000","Link":"/RIS/v1/identities/905da03571f2db0180819c0003000000","DN"
:"cn=rcastro,ou=users,o=utopia","FirstName":["Ricardo"],"LastName":
["Castro"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=rcastro,ou=users,o=utopia&attribute-key=UserPhoto","Title":["VP, Latin American Sales"],"TelephoneNumber":
[],"Department":["Sales"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=kkilpatrick,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"302c193571f2db0180819c0003000000","Link":"/RIS/v1/identities/302c193571f2db0180819c0003000000","DN"
:"cn=kkilpatrick,ou=users,o=utopia","FirstName":["Kelly"],"LastName":
["Kilpatrick"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=kkilpatrick,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Sr. VP, Worldwide Sales"],"TelephoneNumber":
[],"Department":["Management"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":
[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn=ablake,ou=users,o
=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"f099463471f2db0180819c0003000000","Link":"/RIS/v1/identities/f099463471f2db0180819c0003000000","DN"
:"cn=ablake,ou=users,o=utopia","FirstName":["Allison"],"LastName":
["Blake"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=ablake,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Creative Assistant"],"TelephoneNumber":
[],"Department":["Marketing"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":
[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn=kchester,ou=users,o
=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"c04c6f3371f2db0180819c0003000000","Link":"/RIS/v1/identities/c04c6f3371f2db0180819c0003000000","DN"
:"cn=kchester,ou=users,o=utopia","FirstName":["Kevin"],"LastName":
["Chester"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=kchester,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Marketing Assistant"],"TelephoneNumber":
[],"Department":["Marketing"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":
[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn=mmackenzie,ou=users,o
=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"9049623271f2db0180819c0003000000","Link":"/RIS/v1/identities/9049623271f2db0180819c0003000000","DN"
:"cn=mmackenzie,ou=users,o=utopia","FirstName":["Margo"],"LastName":
["MacKenzie"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=mmackenzie,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Director, Marketing"],"TelephoneNumber":
[],"Department":["Marketing"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":
[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn=tswan,ou=users,o
=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"e0df313171f2db0180819c0003000000","Link":"/RIS/v1/identities/e0df313171f2db0180819c0003000000","DN"
:"cn=tswan,ou=users,o=utopia","FirstName":["Timothy"],"LastName":
["Swan"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=tswan,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Director, Marketing, Vice
President"],"TelephoneNumber":[],"Department":["Management"],"Location":[],"Email":[]},{"Managers":[],"Groups":
[],"Links":[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn=jkelley,ou=users,o
=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"e0a67f3071f2db0180819c0003000000","Link":"/RIS/v1/identities/e0a67f3071f2db0180819c0003000000","DN"
:"cn=jkelley,ou=users,o=utopia","FirstName":["Josh"],"LastName":
["Kelley"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=jkelley,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Controller"],"TelephoneNumber":[],"Department":
["Accounting"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=fstats,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"0044e12f71f2db0180819c0003000000","Link":"/RIS/v1/identities/0044e12f71f2db0180819c0003000000","DN"
:"cn=fstats,ou=users,o=utopia","FirstName":["Fred"],"LastName":
["Stats"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=fstats,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Controller"],"TelephoneNumber":[],"Department":
["Accounting"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=jsmith,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"f02df92e71f2db0180819c0003000000","Link":"/RIS/v1/identities/f02df92e71f2db0180819c0003000000","DN"
:"cn=jsmith,ou=users,o=utopia","FirstName":["Jane"],"LastName":
["Smith"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=jsmith,ou=users,o=utopia&attribute-key=UserPhoto","Title":["HR, Representative"],"TelephoneNumber":
[],"Department":["Human Resources"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":
[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn=rresource,ou=users,o
=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"00b7c52d71f2db0180819c0003000000","Link":"/RIS/v1/identities/00b7c52d71f2db0180819c0003000000","DN"
:"cn=rresource,ou=users,o=utopia","FirstName":["Renee"],"LastName":
["Resource"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=rresource,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Director, Human Resource"],"TelephoneNumber":
[],"Department":["Management"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":
[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn=apalani,ou=users,o=utopia","Type":"wf/workitems","V
alue":"Workflow
Workitems"}],"GUID":"101b3c2a71f2db0180819c0003000000","Link":"/RIS/v1/identities/101b3c2a71f2db0180819c0003000000","DN"
:"cn=apalani,ou=users,o=utopia","FirstName":["Anthony"],"LastName":
["Palani"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=apalani,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Chief Operating Officer"],"TelephoneNumber":
[],"Department":["Management"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":
[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn=bbrown,ou=users,o
=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"c0c8cc2771f2db0180819c0003000000","Link":"/RIS/v1/identities/c0c8cc2771f2db0180819c0003000000","DN"
:"cn=bbrown,ou=users,o=utopia","FirstName":["Bill"],"LastName":
["Brown"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=bbrown,ou=users,o=utopia&attribute-key=UserPhoto","Title":["System Administrator"],"TelephoneNumber":
[],"Department":["Information Services"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":
[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn=aspencer,ou=users,o
=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"8052a22671f2db0180819c0003000000","Link":"/RIS/v1/identities/8052a22671f2db0180819c0003000000","DN"
:"cn=aspencer,ou=users,o=utopia","FirstName":["Abby"],"LastName":
["Spencer"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=aspencer,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Sr. System Administrator"],"TelephoneNumber":
[],"Department":["Information Services"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":
[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn=tmellon,ou=users,o
=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"d0c38c2571f2db0180819c0003000000","Link":"/RIS/v1/identities/d0c38c2571f2db0180819c0003000000","DN"
:"cn=tmellon,ou=users,o=utopia","FirstName":["Terry"],"LastName":
["Mellon"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=tmellon,ou=users,o=utopia&attribute-key=UserPhoto","Title":["VP, Information Systems"],"TelephoneNumber":
[],"Department":["Information Services"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":
[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn=jmiller,ou=users,o
=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"103bc62071f2db0180819c0003000000","Link":"/RIS/v1/identities/103bc62071f2db0180819c0003000000","DN"
:"cn=jmiller,ou=users,o=utopia","FirstName":["Jack"],"LastName":
["Miller"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=jmiller,ou=users,o=utopia&attribute-key=UserPhoto","Title":["President, CEO"],"TelephoneNumber":[],"Department":
["Management"],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?
filter=Addressee=cn=pldapguest,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"20541152aadcdb018020a40003000000","Link":"/RIS/v1/identities/20541152aadcdb018020a40003000000","DN"
:"cn=pldapguest,ou=users,o=utopia","FirstName":["LDAP"],"LastName":
["Guest"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=pldapguest,ou=users,o=utopia&attribute-key=UserPhoto","Title":[""],"TelephoneNumber":[],"Department":
[""],"Location":[],"Email":[]},{"Managers":[],"Groups":[],"Links":[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn
=padmin,ou=users,o=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"604faf0faadcdb0180c0440003000000","Link":"/RIS/v1/identities/604faf0faadcdb0180c0440003000000","DN"
:"cn=padmin,ou=users,o=utopia","FirstName":["Portal"],"LastName":
["Admin"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=padmin,ou=users,o=utopia&attribute-key=UserPhoto","Title":[""],"TelephoneNumber":[],"Department":[""],"Location":
[],"Email":[]}]
package client.rest.identities;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class ReadIdentity {
public static final String SERVICE_URL = "http://172.17.2.91:8080/RIS/v1/identities";
public static final String ADMIN_DN = "cn=padmin,ou=users,o=utopia";
public static final String ADMIN_PW = "n0v3ll";
public static final String IDENTITY_GUID = "00b7c52d71f2db0180819c0003000000";
public static void main(String[] args) throws IOException {
String authString = ADMIN_DN ":" ADMIN_PW;
String b64encodedAuthString = new sun.misc.BASE64Encoder().encode(authString.getBytes());
URL restURL = new URL(SERVICE_URL "/" IDENTITY_GUID);
System.out.println("calling url: " restURL.toString());
HttpURLConnection identitiesURL = (HttpURLConnection) restURL.openConnection();
identitiesURL.setRequestMethod("GET");
identitiesURL.setRequestProperty("RESTAuthorization", b64encodedAuthString);
identitiesURL.connect();
System.out.println("response code: " identitiesURL.getResponseCode());
if (identitiesURL.getResponseCode() == 200) {
identitiesURL.getContentLength();
InputStream in = identitiesURL.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String text = reader.readLine();
System.out.println(text);
}
identitiesURL.disconnect();
}
}
{"Managers":
[{"DN":"cn=apalani,ou=users,o=utopia","GUID":"101b3c2a71f2db0180819c0003000000","Link":"/RIS/v1/identities/101b3c2a71f2d
b0180819c0003000000","Value":"cn=apalani,ou=users,o=utopia"}],"Groups":[{"DN":"","Link":"","Value":""}],"Links":
[{"Link":"/RIS/v1/wf/workitems?filter=Addressee=cn=rresource,ou=users,o
=utopia","Type":"wf/workitems","Value":"Workflow
Workitems"}],"GUID":"00b7c52d71f2db0180819c0003000000","Link":"/RIS/v1/identities/00b7c52d71f2db0180819c0003000000","DN"
:"cn=rresource,ou=users,o=utopia","FirstName":["Renee"],"LastName":
["Resource"],"Photo":"http://172.17.2.91:8080/IDM/vdataImages?entity-definition-key=user&entitykey=
cn=rresource,ou=users,o=utopia&attribute-key=UserPhoto","Title":["Director, Human Resource"],"TelephoneNumber":
["801-802-0007"],"Department":["Management"],"Location":["NYC"],"Email":["rresource@ad.ism.utopia.novell.com"]}
Term |
---|
Meaning |
---|
DN |
Distinguished Name. The fully qualified name of an LDAP entry |
LDAP |
Lightweight Directory Access Protocol. A communication protocol for accessing eDirectory. |
PRD |
Provisioning Request Definition - A workflow process |
RBPM |
Novell Role s Based Provisioning Module |