5 Testing and Troubleshooting

After you deploy the connector, you must test it to ensure that it functions as expected. This chapter discusses the following topics related to connector testing:

5.1 Testing Reconciliation

After you deploy the connector, you must test it to ensure that it functions as expected. The testing 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 directory on the installation media. See Section 2.1.1.1, "Files and Directories on the Installation Media" for more information.

To run the testing utility:

  1. Copy the testing utility files to the following directories:

    • If you are using Oracle Identity Manager release 9.1.0.x, then:

      Copy files from the test/config directory on the installation media to the OIM_HOME/xellerate/XLIntegrations/PSFTUM/config directory.

      Copy files from the test/scripts directory on the installation media to the OIM_HOME/xellerate/XLIntegrations/PSFTUM/scripts directory.

    • If you are using Oracle Identity Manager release 11.1.1, then:

      Copy files from the test/config directory on the installation media to the OIM_HOME/server/XLIntegrations/PSFTUM/config directory.

      Copy files from the test/scripts directory on the installation media to the OIM_HOME/server/XLIntegrations/PSFTUM/scripts directory.

      Note:

      You must create the destination directories on the Oracle Identity Manager host computer if they are not present.

  2. Depending on the Oracle Identity Manager release you are using, perform one of the following steps:

    • If you are using Oracle Identity Manager release 9.1.0.x, then copy the log4j.jar file into the following directory:

      OIM_HOME/xellerate/ThirdParty

    • If you are using Oracle Identity Manager release 11.1.1, then copy the lib/PSFTCommon.jar and lib/Common.jar files from installation media into the following directory:

      OIM_HOME/server/JavaTasks

  3. Modify the files that you copy into the config directory as follows:

    1. If you are using Oracle Identity Manager release 9.1.0.x, then modify the log.properties file as described in Section 2.3.1.2, "Enabling Logging."

    2. Open and edit the reconConfig.properties file as follows:

      i) 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
      

      ii) 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 directory path and file name that you specify.

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

      MessageType=None
      

      iv) Enter a value for ITResourceName. This value must match the active IT resource in Oracle Identity Manager.

      For example:

      ITResourceName=PSFT Server
      

      v) Enter the name of the message for which you are run the testing utility.

      For example:

      MessageName=USER_PROFILE
      
    3. Open a command window, and navigate to the following directory:

      If you are using Oracle Identity Manager release 9.1.0.x, then:

      OIM_HOME/xellerate/XLIntegrations/PSFTUM/scripts

      If you are using Oracle Identity Manager release 11.1.1, then:

      OIM_HOME/server/XLIntegrations/PSFTUM/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.

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.

While running the testing utility, you must ensure that Oracle Identity Manager is running.

Note:

The testing utility might not work on Oracle Identity Manager release 9.1.0.x running on IBM WebSphere Application Server, Oracle WebLogic Server, or Oracle Application Server.

  1. Depending on the Oracle Identity Manager release that you are using, perform one of the following steps:

    • If you are using Oracle Identity Manager 9.1.0.x, then copy the following files to OIM_HOME/xellerate/ThirdParty directory:

      For IBM WebSphere Application Server:

      com.ibm.ws.admin.client_6.1.0.jar from WAS_HOME/AppServer/runtimes

      ibmorb.jar from WAS_HOME/AppServer/java/jre/lib

      xlDataObjectBeans.jar from OIM_CLIENT/xlclient/lib

      For JBoss Application Server:

      jbossall-client.jar from OIM_CLIENT/xlclient/ext

      log4j.jar from JBOSS_HOME/server/default/lib

      xlGenericUtils.jar from OIM_HOME/xellerate/lib

      For Oracle WebLogic Server:

      weblogic.jar from BEA_HOME/weblogic81/server/lib

    • If you are using Oracle Identity Manager 11.1.1, then:

      1. Create the wlfullclient.jar file by using the WebLogic JarBuilder Tool. See Oracle WebLogic Server documentation for more information.

      2. Copy the wlfullclient.jar file to the OIM_HOME/server/ThirdParty directory.

      3. Copy the lib/PSFTUM.jar, lib/PSFTCommon.jar, and lib/Common.jar files from installation media into the following directory:

        OIM_HOME/server/JavaTasks

  2. Modify the attributes of the config.properties file using the values specified in the following table. This file is located in the config directory on the installation media. Table 5-1 describes each property:

    Table 5-1 Properties of config.properties File

    Property Description Default Value

    ACTION

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

    CONNECT,CREATE,DELETE,ENABLE, DISABLE,UPDATEUSER,UPDATEEMAIL, UPDATEROLE,ADDORDELETEEMAIL, ADDORDELETEROLE,UPDATEPASSWORD, UPDATEIDTYPE

    CONNECT

    IT_RESOURCE_NAME

    Enter the name of the IT resource that the testing utility must use.

    PSFT Server

    UD_PSFT_BAS_SYMBOLICID

    UD_PSFT_BAS_EMPLID

    UD_PSFT_BAS_SERVER

    UD_PSFT_BAS_MULTILANG_CD

    UD_PSFT_BAS_LANGUAGE_CD

    UD_PSFT_BAS_CURRENCYCODE

    UD_PSFT_BAS_OPRID

    UD_PSFT_BAS_OPRDEFNDESC

    UD_PSFT_BAS_PRIEMAILADDRESS

    UD_PSFT_BAS_PRIEMAILTYPE

    UD_PSFT_BAS_OPERPSWD

    UD_PSFT_BAS_PRPERMISSIONLIST

    UD_PSFT_BAS_ROWPERMISSIONLIST

    UD_PSFT_BAS_PROCESSPROFILELIST

    UD_PSFT_BAS_NAVIGATORHOMELIST

    UD_PSFT_BAS_USERIDALIAS

    UD_PSFT_BAS_CUSTID

    UD_PSFT_BAS_CUSTSETID

    UD_PSFT_BAS_VNDID

    UD_PSFT_BAS_VNDSETID

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

    The description of attributes for Create User and Update User operations used in the config.properties file is as follows:

    UD_PSFT_BAS_SYMBOLICID: Symbolic ID

    UD_PSFT_BAS_EMPLID: Employee ID

    UD_PSFT_BAS_SERVER: IT Resource Name

    UD_PSFT_BAS_MULTILANG_CD: Multi Language Code

    UD_PSFT_BAS_LANGUAGE_CD: Language Code

    UD_PSFT_BAS_CURRENCYCODE: Currency Code

    UD_PSFT_BAS_OPRID: User ID

    UD_PSFT_BAS_OPRDEFNDESC: User Description

    UD_PSFT_BAS_PRIEMAILADDRESS Primary Email Address

    UD_PSFT_BAS_PRIEMAILTYPE: Primary Email Type

    UD_PSFT_BAS_OPERPSWD: Password

    UD_PSFT_BAS_PRPERMISSIONLIST: Primary Permission List

    UD_PSFT_BAS_ROWPERMISSIONLIST: Row Security Permission List

    UD_PSFT_BAS_PROCESSPROFILELIST: Process Profile Permission List

    UD_PSFT_BAS_NAVIGATORHOMELIST: Navigator Home Permission List

    UD_PSFT_BAS_USERIDALIAS: User ID Alias

    UD_PSFT_BAS_CUSTID: Customer ID

    UD_PSFT_BAS_CUSTSETID: Customer Set ID

    UD_PSFT_BAS_VNDID: Vendor ID

    UD_PSFT_BAS_VNDSETID: Vendor Set ID

    NA

    DELETE_USER_ID

    Specify the user ID to be deleted.

    NA

    ENABLE_USER_ID

    Specify the user ID to be enabled.

    NA

    DISABLE_USER_ID

    Specify the user ID to be disabled.

    NA

    MODIFY_EMAIL_USER_ID

    EMAIL_ACTION

    EMAIL_TYPE

    EMAIL_ADDRESS

    These properties are used to add or delete an e-mail record.

    MODIFY_EMAIL_USER_ID: Specify the user ID whose e-mail record is to be modified.

    EMAIL_ACTION: This can be set to ADD or DELETE.

    EMAIL_TYPE: Specify the type of e-mail

    Note: EMAIL_TYPE must be specified in the 1~BB format.

    EMAIL_ADDRESS: Specify the e-mail address.

    NA

    MODIFY_ROLE_USER_ID

    ROLE_ACTION

    ROLE_NAME

    These properties are used to add or delete a role.

    MODIFY_ROLE_USER_ID: Specify the user ID whose role is to be modified.

    ROLE_ACTION: This can be set to ADD or DELETE.

    ROLE_NAME: Specify the name of the role to be added or deleted.

    Note: ROLE_NAME must be provided in the 1~CE User format.

    NA

    UPDATE_PASSWORD_USER_ID

    Specify the user ID of the user whose password is to be updated.

    NA

    UPDATE_ID_TYPE_USER_ID

    IDTYPE_COLUMNNAME_TO_BE_UPDATED

    These properties are used to update the ID type associated with a user profile.

    UPDATE_ID_TYPE_USER_ID: Specify the User ID of the user whose ID Type is to be modified.

    IDTYPE_COLUMNNAME_TO_BE_UPDATED: Specify the column name of the ID Type attribute.

    For example, if employee ID is to be updated then specify UD_PSFT_BAS_EMPLID.

    UD_PSFT_BAS_EMPLID

    UPDATE_ROLE_USER_ID

    OLD_ROLE_NAME

    NEW_ROLE_NAME

    These properties are used to update the role assigned to a user profile.

    UPDATE_ROLE_USER_ID: Specify the user ID of the user whose role is to be updated.

    OLD_ROLE_NAME: Specify the existing role name.

    NEW_ROLE_NAME: Specify the new role name

    ROLE NAME must be provided in the 1~Role Name format. For example, 1~CE User.

    NA

    UPDATE_EMAIL_USER_ID

    NEW_EMAIL_TYPE

    OLD_EMAIL_TYPE

    NEW_EMAIL_ADDRESS

    These properties are used to update the e-mail messages assigned to a user profile.

    NEW_EMAIL_TYPE: Specify the new e-mail type to be updated.

    OLD_EMAIL_TYPE: Specify the existing e-mail type of the e-mail.

    NEW_EMAIL_ADDRESS: Specify the new e-mail address.

    Note: Ensure that the OLD_EMAIL_TYPE is already assigned to the user.

    Note: EMAIL TYPE must be provided in the 1~EMAILTYPE format. For example, 1~BB.

    NA

    UPDATE_USER_ID

    COLUMN_TO_BE_UPDATED

    These properties are used to update user attributes.

    UPDATE_USER_ID: Specify the user ID of the user profile whose attribute is to be updated.

    COLUMN_TO_BE_UPDATED: Specify the column name of the attribute to be updated.

    Note: The updated data is fetched from create user and update user data.

    NA

    XL_HOME_DIR

    JAVA_SECURITY_AUTH_LOGIN_CONFIG

    JAVA_NAMING_PROVIDER_URL

    JAVA_NAMING_FACTORY_INITIAL

    The following are system properties, which have to be set for a signature-based logging into Oracle Identity Manager.

    XL_HOME_DIR: Specify the path of the Oracle Identity Manager home directory, for example, path till the xellerate directory.

    For example:

    For Oracle Identity Manager 9.1.0.x:

    C:\OIM_JBOSS_9102\OimServer\xellerate

    For Oracle Identity Manager 11.1.1:

    E:\\OIM11g\\Middleware\\Oracle_IDM\\server

    JAVA_SECURITY_AUTH_LOGIN_CONFIG: Specify the path of the auth.conf file. It is present in the config directory.

    For Oracle Identity Manager 9.1.0.x:

    For JBoss Application Server: Specify the path of the aut.conf file.

    For Oracle WebLogic Server: Specify the path of the authwl.conf file.

    For IBM WebSphere Application Server: Specify the path of the authws.conf file.

    For Oracle Identity Manager 11.1.1:

    E:\\OIM11g\\Middleware\\Oracle_IDM\\server\\config\\authwl.conf

    JAVA_NAMING_PROVIDER_URL: Specify the value of the "java.naming.provider.url" attribute present in the Discovery settings in the following file:

    For Oracle Identity Manager 9.1.0.x:

    OIM_HOME/xellerate/config/xlconfig.xml

    For Oracle Identity Manager 11.1.1:

    OIM_HOME/designconsole/config/xlconfig.xml

    Sample value: t3://10.1.6.82:8003

    JAVA_NAMING_FACTORY_INITIAL: Specify the value of the "java.naming.factory.initial" attribute present in the Discovery settings in the following file:

    For Oracle Identity Manager 9.1.0.x:

    OIM_HOME/xellerate/config/xlconfig.xml

    For Oracle Identity Manager 11.1.1:

    OIM_HOME/designconsole/config/xlconfig.xml

    NA

    OIM_LOGIN_USER_ID

    OIM_LOGIN_USER_ID: Specify the User ID to log in to Oracle Identity Manager.

    Sample Value: xelsysadm

    NA


  3. After you specify values in the config.properties file, run the PeoplsoftTestingUtility.sh or PeoplsoftTestingUtility.bat file. This file is located in the scripts directory on the installation media.

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-4, "IT Resource Parameters" 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

  • Check the value of the Multiple Version Support parameter in the Lookup.PSFT.Configuration lookup definition. If the value is set to No, then ensure that the OIM_HOME/xellerate/ThirdParty directory contains the target system specific JAR files (psjoa.jar and peoplesoft.jar).

  • If the value of the Multiple Version Support parameter in the lookup definition is set to Yes, then verify the directory path specified in the Jar File Location parameter of ITResource. It should contain target system specific JAR files (psjoa.jar and peoplesoft.jar).

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-4, "IT Resource Parameters" for more information. It should contain the correct host name and port.

Class loading error

Returned Error Message:

ERROR [PSFTUM] Description : ADP ClassLoader failed to load: oracle.iam.connectors.psft.usermgmt.integration.PSFTUMUserProxyProvisionManagerERROR [PSFTUM] java.lang.ClassNotFoundException: ADP ClassLoader failed to load: oracle.iam.connectors.psft.usermgmt.integration.PSFTUMUserProxyProvisionManager

  • Check the value of the Multiple Version Support parameter in the Lookup.PSFT.Configuration lookup definition. If the value is set to No, then ensure that the OIM_HOME/xellerate/JavaTasks directory contains the PSFTUM.jar file with the oracle.iam.connectors.psft.usermgmt.integration.PSFTUMUserProxyProvisionManager class.

  • If the value of the Multiple Version Support parameter in the lookup definition is set to Yes, then verify the directory path specified in the Jar File Location parameter of ITResource. It should contain PeopleSoftProxy.jar with oracle.iam.connectors.psft.usermgmt.integration.PSFTUMUserProxyProvisionManager class.

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