ICF 1.5.20.26

PeopleSoft connector

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.

User ID

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

If you are looking for the Advanced Identity Cloud application for this connector, refer to:

You can download any connector from Backstage, but some are included in the default deployment for Advanced Identity Cloud, IDM, or RCS. When using an included connector, you can skip installing it and move directly to configuration.

Connector included in default deployment
Connector IDM RCS

No

Yes

Download the connector .jar file from Backstage.

  • 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.26.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 PeopleSoft administrator. If it is not provided to you, refer to Generate psjoa.jar

  • psft.jar is generated by the following commands:

    set CLASSPATH=%JAVA_HOME%\lib\tools.jar;%CLASSPATH%
    jar cvf psft.jar .\PeopleSoft\Generated\CompIntfc*.class

Generate psjoa.jar

This procedure is only required if your PeopleSoft Administrator did not provide psjoa.jar.
  1. Start PeopleSoft Application Designer, and open any Component Interface definition.

  2. Select Build > PeopleSoft APIs.

    The Build PeopleSoft API Bindings window displays.

  3. Under the Java Classes group box, select Build, and specify a target directory.

  4. To build the selected bindings, click OK.

    The app builds the selected bindings in the specified directory. If the operation is successful, a Done message appears in the PeopleSoft Application Designer Build window.

  5. Compile the generated APIs:

    • Windows

    • Linux

    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
  6. Copy psjoa.jar and generated jar into /path/to/openicf/lib.

Configure the PeopleSoft connector

Create a connector configuration using the IDM admin UI:

  1. From the navigation bar, click Configure > Connectors.

  2. On the Connectors page, click New Connector.

  3. On the New Connector page, type a Connector Name.

  4. From the Connector Type drop-down list, select PeopleSoft Connector - 1.5.20.26.

  5. Complete the Base Connector Details.

    For a list of all configuration properties, refer to PeopleSoft Connector Configuration
  6. Click Save.

When your connector is configured correctly, the connector displays as Active in the admin UI.

Refer to this procedure to create a connector configuration over REST.

Test the PeopleSoft connector

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": "[1.5.0.0,1.6.0.0)",
    "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 system.

PeopleSoft remote connector

If you want to run this connector outside of PingOne Advanced Identity Cloud or IDM, you can configure the PeopleSoft connector as a remote connector. Java Connectors installed remotely on a Java Connector Server function identically to those bundled locally within PingOne Advanced Identity Cloud or installed locally on IDM.

You can download the PeopleSoft connector from here.

Refer to Remote connectors for configuring the PeopleSoft remote connector.

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
ID Type Name

BID

Bidder

CNT

Customer Contact

CST

Customer

EJA

External Job Applicant

EMP

Employee

NON

None

ORG

Organization ID

PER

Person (CRM)

VND

Vendor

PTN

Partner

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
Language Code

Arabic

ARA

Afrikaans

AFR

Bulgarian

BUL

Simplified Chinese

ZHS

Traditional Chinese

ZHT

Croatian

CRO

Czech

CZE

Danish

DAN

Dutch

DUT

English

ENG

UK English

UKE

French

FRA

Canadian French

CFR

German

GER

Greek

GRK

Finnish

FIN

Hebrew

HEB

Hungarian

HUN

Italian

ITA

Japanese

JPN

Korean

KOR

Bahasa Malay

MAY

Norwegian

NOR

Polish

POL

Portuguese

POR

Romanian

ROM

Russian

RUS

Serbian

SER

Slovak

SLK

Slovenian

SLV

Spanish

ESP

Swedish

SVE

Thai

THA

Turkish

TUR

Vietnamese

VIE

The 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@gmail.com",
  "PrimaryEmail":"Y"
}]
Supported email types
Email Code Email Type

BB

Blackberry

HOME

Home

WORK

Work

BUS

Business

OTH

Other

EMPTY

Empty field

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 or not the user profile is encrypted.

Operations on PeopleSoft accounts

You can use the PeopleSoft connector to perform the following actions on a PeopleSoft account:

Create a PeopleSoft user

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 "Content-Type: application/json" \
--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
}

When you create a new user, you must specify at least __NAME__, UserID, and IDTypes. refer to the list of available attributes for more information.

Update a PeopleSoft user

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 update the EmailAddresses for a user:

curl \
--header "X-OpenIDM-Username: openidm-admin" \
--header "X-OpenIDM-Password: openidm-admin" \
--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
}
Query PeopleSoft users

The following example queries all PeopleSoft users:

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/__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 "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
}
Reset a PeopleSoft user account password
curl \
--header "X-OpenIDM-Username: openidm-admin" \
--header "X-OpenIDM-Password: openidm-admin" \
--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
}

While the __PASSWORD__ field is not returned as part of the response, the user object is updated.

Enable a PeopleSoft user
curl \
--header "X-OpenIDM-Username: openidm-admin" \
--header "X-OpenIDM-Password: openidm-admin" \
--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
}
Disable a PeopleSoft user
curl \
--header "X-OpenIDM-Username: openidm-admin" \
--header "X-OpenIDM-Password: openidm-admin" \
--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
}
Delete a PeopleSoft user account

You can use the PeopleSoft connector to delete an account from the PeopleSoft service.

The following example deletes an PeopleSoft account:

curl \
--header "X-OpenIDM-Username: openidm-admin" \
--header "X-OpenIDM-Password: openidm-admin" \
--header "Content-Type: application/json" \
--request DELETE \
"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
}

Operations on other objects

The following operations are supported for other objects, including Employee, Permission, External Job Applicant, and Role:

Query all employees

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
}
Query a single employee

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?_prettyprint=true"
{
  "_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"
  } ]
}
Query all permissions

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
}
Query a single permission

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?_prettyprint=true"
{
  "_id" : "HCCPCSALL",
  "__UID__" : "HCCPCSALL",
  "__NAME__" : "Campus - Hidden Objects",
  "KEYPROP_CLASSID" : "HCCPCSALL"
}
Query all external job applicants

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
}
Query a single external job applicant

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?_prettyprint=true"
{
  "_id" : "500258",
  "__NAME__" : "500258",
  "__UID__" : "500258"
}
Query all roles

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
}
Query a single role

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?_prettyprint=true"
{
  "_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. For additional details, see ICF 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(1) Required(2)

host

String

null

Yes

Host name or IP address to connect to PeopleSoft server.

port

int

0

Yes

Port to connect to PeopleSoft server.

userId

String

null

Yes

The userid used to login to PeopleSoft server.

password

GuardedString

null

Yes

Yes

The password used to login to PeopleSoft server.

domainConnectPassword

GuardedString

null

Yes

Yes

The password for PeopleSoft app server domain.

(1) Whether the property value is considered confidential, and is therefore encrypted in IDM.

(2) A list of operations in this column indicates that the property is required for those operations.