5 Testing and Troubleshooting

After you deploy the connector, you must test it to ensure that it functions as expected. The installation media includes a testing utility to test connector operations.

Note:

Using the testing utility, you can test connectivity and perform sanity tests on basic connector operations.The testing utility does not support functions such as validation, transformation, resource exclusion, multiple-version support, and remote connector server.

This chapter discusses the following topics related to connector testing:

5.1 Testing Reconciliation

The utility takes as input the XML file or message generated by the target system. It can be used for testing full and incremental reconciliation.

The testing utility is located in the test on the installation media. See Files and Directories on the Installation Media for more information.

To run the testing utility for reconciliation:

  1. Open and edit the test/config/reconConfig.properties file as follows:

    1. Enter the PeopleSoftOIMListener servlet URL as the value of ListenerURL in following syntax:

      http://HOST_NAME:PORT/PeopleSoftOIMListener
      

      For example:

      ListenerURL=http://10.1.6.83:8080/PeopleSoftOIMListener
      
    2. Enter the absolute XML message file path as the value of XMLFilePath as shown in the following example:

      XMLFilePath=c:/xmlmessages/user_profile.xml
      

      Note:

      Ensure that there is no blank or white-space character in the path and file name that you specify.

    3. Enter a value for the MessageType. For a ping message, specify Ping, None, or otherwise as shown in the following example:

      MessageType=None
      
    4. Enter a value for ITResourceName. This value must match the active IT resource in Oracle Identity Manager.

      For example:

      ITResourceName=PSFT User
      
    5. Enter the name of the message for which you are run the testing utility.

      For example:

      MessageName=USER_PROFILE
      
  2. If you are using Oracle Identity Manager release 11.1.2.x or later, then include the jrf.jar, jrf-api.jar, and jrf-client.jar files to the classpath.

    These JAR files are located in the $ORACLE_COMMON/modules/oracle.jrf_11.1.1 .

  3. Open a command window, and navigate to the scripts .

    You must run the testing utility from the OIM_HOME/server/ConnectorDefault/CONN_HOME/test/scripts , where CONN_HOME is the connector .

    For example:

    OIM_HOME/server/ConnectorDefault/PSFT_UM_11.1.1.6.0/test/scripts

  4. Run the following script:

    For Microsoft Windows:

    InvokeListener.bat
    

    For UNIX:

    InvokeListener.sh
    

After the testing utility completes the run, it creates a reconciliation event. Verify that the reconciliation event is created in Oracle Identity Manager and that the event contains the data specified in the message-specific XML file.

5.2 Testing Provisioning

You can use the testing utility to identify the cause of problems associated with connecting to the target system and performing basic operations on the target system.

This section contains the following topics:

5.2.1 About Testing Provisioning

When you run the testing utility, it reads the connectivity information from the IT Resource, lookup definitions from Oracle Identity Manager, and process form data is read from the config.properties file.

You must ensure that Oracle Identity Manager is running. You must copy the psjoa.jar file from the PEOPLESOFT_HOME/web/psjoa to the OIM_HOME/server/ConnectorDefault/PSFT_UM_11.1.1.6.0/test/thirdparty .

5.2.2 Running the Testing Utility for Provisioning

To run the testing utility for provisioning:

  1. Create the wlfullclient.jar file by using the WebLogic JarBuilder Tool. See Oracle WebLogic Server documentation for more information.
  2. If you are using Oracle Identity Manager release 11.1.2.x or later, then include the jrf.jar, jrf-api.jar, and jrf-client.jar files to the classpath.

    These JAR files are located in the $ORACLE_COMMON/modules/oracle.jrf_11.1.1 .

  3. Modify the attributes of the config.properties file using the values specified in the following table. This file is located in the config on the installation media. Table 5-1 describes each property:
  4. After you specify values in the config.properties file, run the PeoplesoftProvisioningTester.sh or PeoplesoftProvisioningTester.bat file. This file is located in the test/scripts on the installation media.

5.2.3 Properties of the config.properties File

Table 5-1 describes each property of the config.properties file.

Table 5-1 Properties of config.properties File

Property Description Default Value

ACTION

Action that you want the testing utility to perform. You can enter one of the following values:

CONNECT, CREATE, DELETE, ENABLE, DISABLE, UPDATEUSER, UPDATEPASSWORD

CONNECT

LOG LEVEL

Logging level of the testing utility. You can enter one of the following values:

OFF, INFO, FINE

OFF

IT_RESOURCE_NAME

Name of the IT resource that the testing utility must use

PSFT User

Oracle Identity Manager login properties:

   

SECURITY AUTH LOGIN CONFIG FILE

Configuration file for security authorization

../../../../config/authwl.conf

OIM CONNECTION URL

URL to connect to Oracle Identity Manager

t3://localhost:8003

CONTEXT FACTORY

Path to the WebLogic context factory

weblogic.jndi.WLInitialContextFactory

OIM ADMIN USER

Admin user ID to log into Oracle Identity Manager

Sample value: xelsysadm

NA

Attributes:

Enter Create User and Update User data that must be set during the test provisioning operation:

 

USERID

User ID

NA

USERIDALIAS

User ID alias

NA

ALTERNATEUSERID

Alternate User ID

NA

SYMBOLICID

Symbolic ID

NA

LANGUAGECODEENG

Language Code

NA

CURRENCYCODE

Currency Code

NA

NAVIGATORHOMEPERMISSIONLIST

Navigator Home Permission List

NA

MULTILANGUAGEENABLED

Multi-language enabled or disabled

0

PRIMARYPERMISSIONLIST

Primary Permission List

NA

PROCESSPROFILEPERMISSIONLIST

Process Profile Permission List

NA

REASSIGNWORK

Reassign Work

NA

REASSIGNUSERID

Reassign User ID

NA

ROWSECURITYPERMISSIONLIST

Row Security Permission List

NA

SUPERVISINGUSERID

Supervising User ID

NA

USERDESCRIPTION

User Description

NA

EFFECTIVEDATEFROM

Effective Date From

NA

EFFECTIVEDATETO

Effective Date To

NA

EXPERTENTRY

Expert Entry

NA

WORKLISTUSER

Worklist User

NA

EMPLID

Employee ID

NA

VENDOR ID

Vendor ID

NA

VENDOR SET ID

Vendor Set ID

NA

CUSTOMER ID

Customer ID

NA

CUSTOMER SET ID

Customer Set ID

NA

PRIMARY EMAIL TYPE

Primary Email Type

WORK

WORK EMAIL

Work Email

Sample value: abcd@work.com

NA

BUS EMAIL

Business Email

Sample value: abcd@bus.com

NA

HOME EMAIL

Home Email

NA

BB Email

BB Email Type, in 1~EMAILTYPE format

NA

OTH Email

Other Email

NA

ROLES

Roles

NA

5.3 Troubleshooting

The following table lists solutions to some commonly encountered issues associated with the PeopleSoft User Management connector:

Problem Description Solution

Oracle Identity Manager cannot establish a connection with the PeopleSoft Enterprise Applications server.

  • Ensure that the PeopleSoft Enterprise Applications server is running.

  • Ensure that Oracle Identity Manager is running.

  • Ensure that all the adapters have been compiled.

  • Use the IT resources form to examine the Oracle Identity Manager record. Ensure that the IP address, admin ID, and admin password are correct.

  • Ensure that the correct Jolt URL has been specified. See Table 2-3 for information about locating and determining a Jolt URL.

  • Ensure that the server on which Oracle Identity Manager is running can communicate with the Jolt listener over the Jolt URL.

Class loading error

Returned Error Message:

ERROR [STDERR] Caused by: java.lang.NoClassDefFoundError: psft/pt8/joa/JOAException

  • Ensure that the target system-specific psjoa.jar file is present in the connector bundle, in the OIM_HOME/server/ConnectorDefault/PSFT_UM_11.1.1.6.0/test/lib .

Connection error

Returned Error Message:

Reason:NwHdlr: Cannot open socketINFO [STDOUT] Jolt Session Pool cannot provide a connection to the appsever. This appears to be because there is no available application server domain.

ERROR [STDERR] [Thu Nov 12 19:36:16 IST 2009] bea.jolt.ServiceException: Invalid Session

Check the Jolt URL parameter defined in the ITResource. See Table 2-3 for more information. It should contain the correct host name and port.

You might receive the following error message while reconciling user profile data:

ERROR [PSFTCOMMON] 
=================================
ERROR [PSFTCOMMON] 
oracle.iam.connectors.psft.common.handler.HandlerFactory:
getMessageHandler: 
No Lookup defined for message USER_PROFILE.VERSION_84 
ERROR [PSFTCOMMON] 
=================================

ERROR [PSFTCOMMON] 
=================================
ERROR [PSFTCOMMON] 
oracle.iam.connectors.psft.common.listener.PeopleSoftOIMListener:
process : Message specific handler couldn'tbe initialized. 
Please check if lookup definition has been 
specified for the message "USER_PROFILE.VERSION_84".
ERROR [PSFTCOMMON] 
=================================

This indicates that the target system is sending the USER_PROFILE message with the name USER_PROFILE.VERSION_84.

You must modify the Code Key value of the USER_PROFILE attribute in the Lookup.PSFT.Configuration lookup definition as follows:

Code Key: USER_PROFILE.VERSION_84

Decode: Lookup.PSFT.Message.UserProfile.Configuration

You might receive one of the following error messages:

Exception:
 org.identityconnectors.framework.
common.exceptions.ConnectorException:
 Cannot connect to peoplesoft :
 PeopleTools release (8.51.02) for web
 server '' is not the same as Application
 Server PeopleTools release (8.50.10).
 Access denied. at
org.identityconnectors.peoplesoft.common.
SessionWrapper.connect(SessionWrapper.java:65)

org.identityconnectors.framework.server.
impl.ConnectionListener
processOperationRequest
SEVERE: Cannot connect to peoplesoft :
 Failed to deserialize GetCertificate
request data
org.identityconnectors.framework.common.
exceptions.ConnectorException: Cannot
connect to peoplesoft : Failed to
 deserialize GetCertificate request data

You must ensure the psjoa.jar version is correct. It should be specific to the PeopleTools version.

You might receive the following error message:

Exception:
 Running CREATEUSERTarget Class =
oracle.iam.connectors.icfcommon.prov.ICPr
ovisioningManager
<Aug 23, 2011 3:58:43 AM PDT> <Error><ORACLE.IAM.CONNECTORS.ICFCOMMON.PROV.IC
PROVISIONINGMANAGER> <BEA-000000>
<oracle.iam.connectors.icfcommon.prov.IC
ProvisioningManager : createObject :
 Error while creating user
oracle.iam.connectors.icfcommon.exception
s.IntegrationException: Can't read from
URL[file:///path/to/PeopleSoftComponentIn
terfaces.xml] at oracle.iam.connectors.icfcommon.service.o
im9.OIM9Configuration$ConfigurationHandle
r$LoadFromURLTagHandler.handle
 (OIM9Configuration.java:412)

You must ensure you provide the correct path to the PeopleSoftComponentInterfaces.xml file in the Lookup.PSFT.Configuration lookup.

You might receive the following error message while provisioning Employee ID, Vendor Set ID, or Customer Set ID:

Exception:
 <Aug 24, 2011 2:07:15 AM PDT> <Error>
<ORACLE.IAM.CONNECTORS.ICFCOMMON.PROV.ICP
ROVISIONINGMANAGER> <BEA-000000><oracle.iam.connectors.icfcommon.prov.ICP
rovisioningManager : createObject : Error
 while creating user org.identityconnectors.framework.common.e
xceptions.ConnectorException:Cannot create user at
org.identityconnectors.peoplesoft.compint
fc.PeopleSoftCompIntfcCreateOp.create
(PeoplesoftCompIntfcCreateOp.java:120) at
org.identityconnectors.peoplesoft.compint
fc.PeopleSoftCompIntfcConnector.create
 (PeopleSoftCompIntfcConnector.java:126)
....
..
at weblogic.servlet.internal.WebAppServletCo
ntext.execute(WebAppServletContext.java:2
183)at weblogic.servlet.internal.ServletRequestI
mpl.run(ServletRequestImpl.java:1454)at weblogic.work.ExecuteThread.execute(Execu
teThread.java:209)at weblogic.work.ExecuteThread.run(ExecuteTh
read.java:178)Caused By: psft.pt8.joa.JOAException:
 Error invoking method [Save]Message item[0] : (2,104) : Field does
 not exist -- PSOPRALIAS.. (2,104)
 PSOPRALIAS_WRK.ATTRVALUE.FieldChange   PCPC:2067  Statement:22Message item[1] : (91,34) : Error
 changing value. {USER_PROFILE.IDTypes(1).Attributes(2).At
tributeValue} (91,34)Message item[2] : (0,0) : Failed to
 execute PSBusComp requestat org.identityconnectors.peoplesoft.common.
InterfaceWrapper.handleMethodResult (InterfaceWrapper.java:134)....

To resolve this issue:

  1. Verify the PeopleSoft target system for the EmplID attribute name in the USER_PROFILE component interface.

    Depending on the version of PeopleSoft, the attribute name will be EmplID or Empl ID.

    Similarly, for Vendor Set ID and Customer Set ID, the attribute name will be Set ID or SetID.

  2. Update the entry in the Lookup.PSFT.UM.ProvAttrMap lookup with the attribute name that you verified in the preceding step.

    For example, if the attribute name is EmplID in PeopleSoft, update the decode value for Employee ID to:

    IDTypes~UM_IDTypes[IDType=EMP]~Attributes~UM_Attributes[AttributeName=EmplID]~AttributeValue

  3. If required, perform the preceding step for the Set ID decode value for Vendor Set ID or Customer Set ID.

The following issue is observed if the JDK version used by Oracle Identity Manager has been changed from 1.7 to an earlier version:

Provisioning operation fails and an error is displayed.

To fix the issue, recompile all the adapters by performing the following procedure:

  1. Login to the Oracle Identity System Design Console.

  2. Expand Development Tools and click on Adapter Manager.

  3. Select Compile All, and click the Start button.

  4. Ensure that the status for all the adapters is OK.

You might receive the following error message:

org.identityconnectors.framework.common.exceptions.ConnectorException: Cannot connect to peoplesoft : DOWNbea.jolt.ServiceException: Invalid Session

You must apply Patch 18391274 and retest the provisioning operation. To obtain the patch, go to following URL, click Patches and Updates, and search for the patch number:

https://support.oracle.com/

User target delete reconciliation fails on Oracle Identity Manager Release 2 and any later BP in this release track.

You must set the following values for the various fields in the Lookup.PSFT.UM.DeleteUserProfile.AttributeMapping and Lookup.PSFT.UM.DeleteUserProfile.Recon lookup definitions:

  • In the Lookup.PSFT.UM.DeleteUserProfile.AttributeMapping lookup definition, set Return ID as the value for the Code Key variable and OPRID~PRG_USR_PROFILE~None~None~PRIMARY for Decode.

  • In the Lookup.PSFT.UM.DeleteUserProfile.Recon lookup definition, set Return ID as the value for the Code Key and Decode variables.

Additionally, perform the following procedure:

  1. Login to the Design Console.

  2. Expand Process Management and double-click Process Definition.

  3. Search for and open the Peoplesoft User Management process definition.

  4. Navigate and open the User ID window.

  5. Select the Case In-sensitive option.

  6. Click Save.

Finally, to complete the workaround, re-create a Reconciliation Profile.

You might receive the following error message:

psjoa compiled version not supported

You must install Oracle Identity Manager against the latest version of Java 1.7 or above.

Alternatively you can install the Connector Server with the latest version of Java 1.7 or above.