PeopleSoft Connector
Important
Connectors continue to be released outside the IDM release. For the latest documentation, refer to the ICF documentation.
The PeopleSoft connector lets you manage and synchronize accounts between Oracle PeopleSoft and IDM managed user objects. A PeopleSoft administrator account is required for this connector to work.
Before you start
Before you configure the connector, log in to your PeopleSoft administrator account and note the following:
- Host
The host address of the PeopleSoft instance.
- Port
The port for the PeopleSoft instance.
- UserID
The username to log into the PeopleSoft instance.
- Password
The password to log into the PeopleSoft instance.
- Domain Connect Password
The domain connection password for the PeopleSoft WebLogic application server.
Install the PeopleSoft connector
Download the connector .jar file from the ForgeRock BackStage download site.
If you are running the connector locally, place it in the
/path/to/openidm/connectors
directory, for example:mv ~/Downloads/peoplesoft-connector-1.5.20.12.jar /path/to/openidm/connectors/
If you are using a remote connector server (RCS), place it in the
/path/to/openicf/connectors
directory on the RCS.Download the connector dependencies.
psjoa.jar
is a file unique to each installation of PeopleSoft. It is compiled and provided by your PoepleSoft administrator. If it is not provided to you, see Generatepsjoa.jar
.psft.jar
is created by the following commands:set CLASSPATH=%JAVA_HOME%\lib\tools.jar;%CLASSPATH% jar cvf psft.jar .\PeopleSoft\Generated\CompIntfc*.class
Generate psjoa.jar
Note
This procedure is only required if your PeopleSoft Administrator did not provide psjoa.jar
.
Start PeopleSoft Application Designer, and open any Component Interface definition.
Select Build > PeopleSoft APIs. The Build PeopleSoft API Binding window displays.
Under the Java Classes group box, select Build, and specify a target directory.
To build the selected bindings, click OK. The app builds the selected bindings in the target directory. If the operation is successful, a Done message appears in the PeopleSoft Application Designer Build window.
Compile the generated APIs:
cd %PS_HOME%\class\PeopleSoft\Generated\CompIntfc javac -classpath %PS_HOME%\class\psjoa.jar *.java cd c:\pt8\class\PeopleSoft\ Generated\ PeopleSoft javac -classpath %PS_HOME%\class\psjoa.jar *.java
cd $PS_HOME/class/PeopleSoft/Generated/CompIntfc javac classpath $PS_HOME/class/psjoa.jar *.java cd $PS_HOME/class/PeopleSoft/Generated/PeopleSoft javac classpath $PS_HOME/class/psjoa.jar *.java
Copy
psjoa.jar
and generated jar into/path/to/openicf/lib
.
Configure the PeopleSoft connector
Create a connector configuration using the Admin UI:
Select Configure > Connectors and click New Connector.
Enter a Connector Name.
Select PeopleSoft Connector - 1.5.20.12 as the Connector Type.
Provide the Base Connector Details.
Click Save.
When your connector is configured correctly, the connector displays as Active in the admin UI.
Alternatively, test that the configuration is correct by running the following command:
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Accept-API-Version: resource=1.0" \ --request POST \ "http://localhost:8080/openidm/system/peoplesoft?_action=test"
{ "name": "peoplesoft", "enabled": true, "config": "config/provisioner.openicf/peoplesoft", "connectorRef": { "bundleVersion": "${bundleVersion}", "bundleName": "org.forgerock.openicf.connectors.peoplesoft-connector", "connectorName": "org.forgerock.openicf.connectors.peoplesoft.PeopleSoftConnector" }, "displayName": "PeopleSoft Connector", "objectTypes": [ "__ACCOUNT__", "__ALL__" ], "ok": true }
If the command returns "ok": true
, your connector has been configured correctly, and can authenticate to the PeopleSoft server.
Use the PeopleSoft connector
The following PeopleSoft account attributes are supported by the PeopleSoft connector:
Attribute | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
__NAME__ | The name of the user. Required. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UserID | ID of the user. Required. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IDTypes | The type of ID and ID value for the user. Required. This is an object, containing IDType and AttributeValue as sub-attributes. For example: "IDTypes": [{ "IDType": "EMP", "AttributeValue": "0001" }] Supported ID types
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UserIDAlias | Alias ID of the user. This should be a fully qualified email address. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UserDescription | A description of the user. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PrimaryPermissionList | Primary permission list for the user. Displays which permissions the user is granted in the primary permission list. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RowSecurityPermissionList | Row security permission list for the user. Displays which permissions the user is granted in the row security permission list. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ProcessProfilePermissionList | Process profile permission list for the user. Displays which permissions the user is granted in the process profile permission list. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NavigatorHomePermissionList | Navigator home permission list for the user. Displays which permissions the user is granted in the navigator home permission list. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SymbolicID | The symbolic ID of the user. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LanguageCode | The user's language preference. Supported Languages
NoteThe list of supported languages can vary depending on your Oracle PeopleSoft version. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MultiLanguageEnabled | Enable support for multiple languages for the user. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AccountLocked | Whether the user account is locked. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CurrencyCode | Three letter code for the user's preferred currency. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FailedLogins | The number of failed logins for the user. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ExpertEntry | Whether the user is marked as an expert. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Opertype | The type of operation. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AllowSwitchUser | Determines whether the user has access to user switching. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
WorklistEntriesCount | Number of worklist entries associated with the user. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
WorklistUSer | Whether there is a worklist associated with the user. Must be either Y (Yes) or N (No). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EmailUser | Email preference of the user. Must be either Y (Yes) or N (No). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AlternateUserID | Fallback user to route to if the user is unavailable. This must be filled out if you specify EffectiveDateFrom or EffectiveDateTo . | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EffectiveDateFrom | Effective start date that a user will be unavailable. Must be in MM/DD/YYYY format. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EffectiveDateTo | Effective end date, marking when a user will become available again. Must be in MM/DD/YYYY format. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EmailAddresses | List of email addresses associated with the user. This is an object, with EmailType , EmailAddress , and PrimaryEmail as sub-attributes. For example: "EmailAddresses": [{ "EmailType":"BUS", "EmailAddress":"test@example.com", "PrimaryEmail":"Y" }] Supported email types
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Roles | List of roles the user has. Users inherit permissions based on the roles the user has. This is an object, with RoleName and Dynamic as sub-attributes. For example: "Roles": [{ "RoleName": "PeopleSoft User" }] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
__PASSWORD__ | The password for the user. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ConfirmPassword | Used to confirm the password of the user. This needs to match the user's password. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Encrypted | Status showing whether the user profile is encrypted. |
Operations on PeopleSoft accounts
You can use the PeopleSoft connector to perform the following actions on a PeopleSoft account:
The following example creates a user with the minimum required attributes:
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Accept-API-Version: resource=1.0" \ --request POST \ --data '{ "__NAME__": "Barbara Jensen", "UserID": "BJENSEN", "IDTypes": [{ "IDType": "EMP", "AttributeValue": "0001" }] }'\ "http://localhost:8080/openidm/system/peoplesoft/__ACCOUNT__?_action=create"
{ "_id": "BJENSEN", "ExpertEntry": 0, "LanguageCode": "ENG", "EmailUser": "Y", "__ENABLE__": 0, "__NAME__": "Barbara Jensen", "IDTypes": [ { "IDType": "EMP", "AttributeValue": "0001" } ], "Encrypted": 1, "UserID": "BJENSEN", "Opertype": 0, "MultiLanguageEnabled": 0, "WorklistUser": "Y", "WorklistEntriesCount": 0, "AllowSwitchUser": 0, "FailedLogins": 0 }
Note
When you create a new user, you must specify at least __NAME__
, UserID
, and IDTypes
. See the list of available attributes for more information.
You can modify an existing user with a PUT request, including all attributes of the account in the request. The following attributes can be modified on a user:
UserIDAlias
UserDescription
PrimaryPermissionList
RowSecurityPermissionList
ProcessProfilePermissionList
NavigatorHomePermissionList
SymbolicID
LanguageCode
MultiLanguageEnabled
AccountLocked
CurrencyCode
FailedLogins
ExpertEntry
Opertype
AllowSwitchUser
WorklistUser
EmailUser
AlternateUserID
EffectiveDateFrom
EffectiveDateTo
EmailAddresses
Roles
IDTypes
Password
ConfirmPassword
Encrypted
For example, to add an email address to a user:
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Accept-API-Version: resource=1.0" \ --header "Content-Type: application/json" \ --header "if-Match:*" \ --request PUT \ --data '{ "__NAME__": "Barbara Jensen", "UserID": "BJENSEN", "IDTypes": [{ "IDType": "EMP", "AttributeValue": "0001" }], "EmailAddresses": [{ "EmailType":"BUS", "EmailAddress":"test@example.com", "PrimaryEmail":"Y" }] }' \ "http://localhost:8080/openidm/system/peoplesoft/__ACCOUNT__/BJENSEN"
{ "_id": "BJENSEN", "ExpertEntry": 0, "LanguageCode": "ENG", "EmailUser": "Y", "__ENABLE__": 0, "__NAME__": "Barbara Jensen", "IDTypes": [ { "IDType": "EMP", "AttributeValue": "0001" } ], "Encrypted": 1, "EmailAddresses": [ { "EmailType": "BUS", "EmailAddress": "test@example.com", "PrimaryEmail": "Y" } ], "UserID": "BJENSEN", "Opertype": 0, "MultiLanguageEnabled": 0, "WorklistUser": "Y", "WorklistEntriesCount": 0, "AllowSwitchUser": 0, "FailedLogins": 0 }
The following example queries all PeopleSoft users:
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Accept-API-Version: resource=1.0" \ --header "Content-Type: application/json" \ --request GET \ "http://localhost:8080/openidm/system/peoplesoft/__ACCOUNT__?_queryId=query-all-ids"
{ "result": [ { "_id": "AZIGLAR" }, { "_id": "BCHALMERS" }, { "_id": "BDAVIS" }, { "_id": "BFRANCISCO" }, { "_id": "BGONZALES" }, { "_id": "BJENSEN" }, { "_id": "BLOCHERTY" }, [ ... ] { "_id": "SUNDERWOOD" }, { "_id": "SVANDERSTEEN" }, { "_id": "SWALTERS" }, { "_id": "TCORY" }, { "_id": "TELLIS" } ], "resultCount": 300, "pagedResultsCookie": null, "totalPagedResultsPolicy": "NONE", "totalPagedResults": -1, "remainingPagedResults": -1 }
The following command queries a specific user by their ID:
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Accept-API-Version: resource=1.0" \ --header "Content-Type: application/json" \ --request GET \ "http://localhost:8080/openidm/system/peoplesoft/__ACCOUNT__/BJENSEN"
{ "_id": "BJENSEN", "ExpertEntry": 0, "LanguageCode": "ENG", "EmailUser": "Y", "__ENABLE__": 0, "__NAME__": "Barbara Jensen", "IDTypes": [ { "IDType": "EMP", "AttributeValue": "0001" } ], "Encrypted": 1, "EmailAddresses": [ { "EmailType": "BUS", "EmailAddress": "test@example.com", "PrimaryEmail": "Y" } ], "UserID": "BJENSEN", "Opertype": 0, "MultiLanguageEnabled": 0, "WorklistUser": "Y", "WorklistEntriesCount": 0, "AllowSwitchUser": 0, "FailedLogins": 0 }
To reset the password for PeopleSoft user account, you can use the connector to change a user's password.
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Accept-API-Version: resource=1.0" \ --header "Content-Type: application/json" \ --header "if-Match:*" \ --request PUT \ --data '{ "__PASSWORD__": "Passw0rd", "__CURRENT_PASSWORD__": "Passw0rd" }' \ "http://localhost:8080/openidm/system/peoplesoft/__ACCOUNT__/BJENSEN"
{ "_id": "BJENSEN", "ExpertEntry": 0, "LanguageCode": "ENG", "EmailUser": "Y", "__ENABLE__": 0, "__NAME__": "Barbara Jensen", "IDTypes": [ { "IDType": "EMP", "AttributeValue": "0001" } ], "Encrypted": 1, "EmailAddresses": [ { "EmailType": "BUS", "EmailAddress": "test@example.com", "PrimaryEmail": "Y" } ], "UserID": "BJENSEN", "Opertype": 0, "MultiLanguageEnabled": 0, "WorklistUser": "Y", "WorklistEntriesCount": 0, "AllowSwitchUser": 0, "FailedLogins": 0 }
Note
While the __PASSWORD__
field is not returned as part of the response, the user object is updated.
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Accept-API-Version: resource=1.0" \ --header "Content-Type: application/json" \ --header "if-Match:*" \ --request PUT \ --data '{ "__NAME__": "Barbara Jensen", "__ENABLE__": 1 }' \ "http://localhost:8080/openidm/system/peoplesoft/__ACCOUNT__/BJENSEN"
{ "_id": "BJENSEN", "ExpertEntry": 0, "LanguageCode": "ENG", "EmailUser": "N", "__ENABLE__": 1, "__NAME__": "Barbara Jensen", "IDTypes": [ { "IDType": "EMP", "AttributeValue": "0001" } ], "Encrypted": 1, "EmailAddresses": [ { "EmailType": "BUS", "EmailAddress": "test@example.com", "PrimaryEmail": "Y" } ], "UserID": "BJENSEN", "Opertype": 0, "MultiLanguageEnabled": 0, "WorklistUser": "N", "WorklistEntriesCount": 0, "AllowSwitchUser": 0, "FailedLogins": 0 }
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Accept-API-Version: resource=1.0" \ --header "Content-Type: application/json" \ --header "if-Match:*" \ --request PUT \ --data '{ "__NAME__": "Barbara Jensen", "__ENABLE__": 0 }' \ "http://localhost:8080/openidm/system/peoplesoft/__ACCOUNT__/BJENSEN"
{ "_id": "BJENSEN", "ExpertEntry": 0, "LanguageCode": "ENG", "EmailUser": "N", "__ENABLE__": 0, "__NAME__": "Barbara Jensen", "IDTypes": [ { "IDType": "EMP", "AttributeValue": "0001" } ], "Encrypted": 1, "EmailAddresses": [ { "EmailType": "BUS", "EmailAddress": "test@example.com", "PrimaryEmail": "Y" } ], "UserID": "BJENSEN", "Opertype": 0, "MultiLanguageEnabled": 0, "WorklistUser": "N", "WorklistEntriesCount": 0, "AllowSwitchUser": 0, "FailedLogins": 0 }
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Accept-API-Version: resource=1.0" \ --header "Content-Type: application/json" \ --request DELETE \ "http://localhost:8080/openidm/system/peoplesoft/__ACCOUNT__/Barbara_Jensen"
{ "_id": "BJENSEN", "ExpertEntry": 0, "LanguageCode": "ENG", "EmailUser": "N", "__ENABLE__": 0, "__NAME__": "Barbara Jensen", "IDTypes": [ { "IDType": "EMP", "AttributeValue": "0001" } ], "Encrypted": 1, "EmailAddresses": [ { "EmailType": "BUS", "EmailAddress": "test@example.com", "PrimaryEmail": "Y" } ], "UserID": "BJENSEN", "Opertype": 0, "MultiLanguageEnabled": 0, "WorklistUser": "N", "WorklistEntriesCount": 0, "AllowSwitchUser": 0, "FailedLogins": 0 }
Operations on other objects
The following operations are supported for other objects; including Employee, Permission, External Job Applicant, and Role:
The following example queries all employees' details:
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Content-Type: application/json" \ --request GET \ "http://localhost:8080/openidm/system/peoplesoft/__EMPLOYEE__?_queryId=query-all-ids"
{ "result": [ {"_id":"0001"}, {"_id":"21"}, {"_id":"22"}, {"_id":"25"}, {"_id":"AA0001"} ], "resultCount":5, "pagedResultsCookie":null, "totalPagedResultsPolicy":"NONE", "totalPagedResults":-1, "remainingPagedResults":-1 }
The following example queries a single employee’s details:
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Content-Type: application/json" \ --request GET \ "http://localhost:8080/openidm/system/peoplesoft/__EMPLOYEE__/BJENSEN
{ "_id" : "BJENSEN", "__NAME__" : "BJENSEN", "LAST_NAME" : "Jensen", "PROP_DERIVED_EMP" : "N", "COLL_NAME_TYPE_VW" : [ { "KEYPROP_NAME_TYPE" : "PRI", "FIRST_NAME" : "Barbara", "LAST_NAME" : "Jensen" }, { "KEYPROP_NAME_TYPE" : "PRF", "FIRST_NAME" : "Barbara", "LAST_NAME" : "Jensen" } ], "PROP_NAME" : "Barbara Jensen", "__UID__" : "BJENSEN", "COLL_ADDRESS_TYPE_VW" : [ { "KEYPROP_ADDRESS_TYPE" : "", "KEYPROP_EFFDT" : "11/14/2022", "PROP_EFF_STATUS" : "A", "PROP_COUNTRY" : "", "PROP_ADDRESS1" : "", "PROP_ADDRESS2" : "", "PROP_ADDRESS3" : "", "PROP_ADDRESS4" : "", "PROP_CITY" : "", "PROP_NUM1" : "", "PROP_NUM2" : "", "PROP_HOUSE_TYPE" : "", "PROP_ADDR_FIELD1" : "", "PROP_ADDR_FIELD2" : "", "PROP_ADDR_FIELD3" : "", "PROP_COUNTY" : "", "PROP_STATE" : "", "PROP_POSTAL" : "", "PROP_GEO_CODE" : "", "PROP_IN_CITY_LIMIT" : "", "PROP_ADDRESS1_AC" : "", "PROP_ADDRESS2_AC" : "", "PROP_ADDRESS3_AC" : "", "PROP_CITY_AC" : "", "PROP_REG_REGION" : "" } ], "COLL_PERSONAL_PHONE" : [ { "KEYPROP_PHONE_TYPE" : "", "PROP_COUNTRY_CODE" : "", "PROP_PHONE" : "", "PROP_EXTENSION" : "", "PROP_PREF_PHONE_FLAG" : "N" } ], "COLL_EMAIL_ADDRESSES" : [ { "KEYPROP_E_ADDR_TYPE" : "", "PROP_EMAIL_ADDR" : "", "PROP_PREF_EMAIL_FLAG" : "N" } ] }
The following example queries all employee permissions:
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Content-Type: application/json" \ --request GET \ "http://localhost:8080/openidm/system/peoplesoft/__PERMISSION__?_queryId=query-all-ids"
{ "result": [ {"_id":"11"}, {"_id":"CI_PERSONAL_DATA"}, {"_id":"CRM8000"}, {"_id":"CRRW1000"}, {"_id":"EOCB_CLIENT_USER"} ], "resultCount":5, "pagedResultsCookie":null, "totalPagedResultsPolicy":"NONE", "totalPagedResults":-1, "remainingPagedResults":-1 }
The following example queries a single permission’s details:
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Content-Type: application/json" \ --request GET \ "http://localhost:8080/openidm/system/peoplesoft/__PERMISSION__/HCCPCSALL
{ "_id" : "HCCPCSALL", "__UID__" : "HCCPCSALL", "__NAME__" : "Campus - Hidden Objects", "KEYPROP_CLASSID" : "HCCPCSALL" }
The following example queries all external job applicants:
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Content-Type: application/json" \ --request GET \ "http://localhost:8080/openidm/system/peoplesoft/__EXTERNAL_JOB_APPLICANT__?_queryId=query-all-ids"
{ "result": [ {"_id":"500000"}, {"_id":"500001"}, {"_id":"500002"}, {"_id":"500003"}, {"_id":"500004"} ], "resultCount":5, "pagedResultsCookie":null, "totalPagedResultsPolicy":"NONE", "totalPagedResults":-1, "remainingPagedResults":-1 }
The following example queries a single external job applicant’s details:
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Content-Type: application/json" \ --request GET \ "http://localhost:8080/openidm/system/peoplesoft/__EXTERNAL_JOB_APPLICANT__/500258
{ "_id" : "500258", "__NAME__" : "500258", "__UID__" : "500258" }
The following example queries all employee roles:
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Content-Type: application/json" \ --request GET \ "http://localhost:8080/openidm/system/peoplesoft/__ROLE__?_queryId=query-all-ids"
{ "result": [ {"_id":"ACM Administrator"}, {"_id":"ADS Designer"}, {"_id":"AG Composer Administrator"}, {"_id":"AG Composer User"}, {"_id":"AM Administrator"} ], "resultCount":5, "pagedResultsCookie":null, "totalPagedResultsPolicy":"NONE", "totalPagedResults":-1, "remainingPagedResults":-1 }
The following example queries a single role’s details:
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Content-Type: application/json" \ --request GET \ "http://localhost:8080/openidm/system/peoplesoft/__ROLE__/HR%20Matrix%20Manager
{ "_id" : "HR Matrix Manager", "PSROLEGRANTORVW" : [ { "GRANTROLENAME" : "", "ROLENAME" : "HR Matrix Manager" } ], "PC_FUNCTION_NAME" : "HR Matrix Manager", "__UID__" : "HR Matrix Manager", "DESCRLONG" : "HR Matrix Manager", "ALLOWNOTIFY" : "HR Matrix Manager", "ROLE_PCODE_RULE_ON" : "HR Matrix Manager", "__NAME__" : "HR Matrix Manager", "PSROLECANGRANT" : [ { "GRANTROLENAME" : "", "ROLENAME" : "HR Matrix Manager" } ], "DESCR" : "HR Matrix Manager", "QRYNAME" : "HR Matrix Manager", "ROLE_QUERY_RULE_ON" : "HR Matrix Manager", "RECNAME" : "HR Matrix Manager", "FIELDNAME" : "HR Matrix Manager", "PSROLEMEMBER" : [ { "ROLEUSER" : "", "ROLENAME" : "HR Matrix Manager" } ], "PSROLEDYNMEMBER" : [ { "ROLEUSER" : "", "ROLENAME" : "HR Matrix Manager" } ], "ALLOWLOOKUP" : "HR Matrix Manager", "PSROLECLASS" : [ { "CLASSID" : "HCCPHR9435" } ], "LDAP_RULE_ON" : "HR Matrix Manager" }
OpenICF Interfaces Implemented by the PeopleSoft Connector
The PeopleSoft Connector implements the following OpenICF interfaces.
- Create
Creates an object and its
uid
.- Delete
Deletes an object, referenced by its
uid
.- Schema
Describes the object types, operations, and options that the connector supports.
- Script on Connector
Enables an application to run a script in the context of the connector. Any script that runs on the connector has the following characteristics:
The script runs in the same execution environment as the connector and has access to all the classes to which the connector has access.
The script has access to a
connector
variable that is equivalent to an initialized instance of the connector. At a minimum, the script can access the connector configuration.The script has access to any script-arguments passed in by the application.
- Search
Searches the target resource for all objects that match the specified object class and filter.
- Test
Tests the connector configuration. Testing a configuration checks all elements of the environment that are referred to by the configuration are available. For example, the connector might make a physical connection to a host that is specified in the configuration to verify that it exists and that the credentials that are specified in the configuration are valid.
This operation might need to connect to a resource, and, as such, might take some time. Do not invoke this operation too often, such as before every provisioning operation. The test operation is not intended to check that the connector is alive (that is, that its physical connection to the resource has not timed out).
You can invoke the test operation before a connector configuration has been validated.
- Update
Updates (modifies or replaces) objects on a target resource.
PeopleSoft Connector Configuration
The PeopleSoft Connector has the following configurable properties.
Configuration properties
Property | Type | Default | Encrypted [a] | Required [b] |
---|---|---|---|---|
host | String | null | ||
Host name or IP address to connect to PeopleSoft server | ||||
| ||||
port | int | 0 | ||
Port to connect to PeopleSoft server | ||||
| ||||
userId | String | null | ||
The userid used to login to PeopleSoft server | ||||
| ||||
password | GuardedString | null | ||
The password used to login to PeopleSoft server | ||||
| ||||
domainConnectPassword | GuardedString | null | ||
The password for PeopleSoft app server domain | ||||
| ||||
[a] Indicates whether the property value is considered confidential, and therefore encrypted in OpenIDM. [b] A list of operations in this column indicates that the property is required for those operations. |