JDBC Dynamic Connector doesn't propagate attribute values to Endpoind when JavaBean Property Name is set as number
search cancel

JDBC Dynamic Connector doesn't propagate attribute values to Endpoind when JavaBean Property Name is set as number

book

Article ID: 134357

calendar_today

Updated On:

Products

CA Identity Manager CA Identity Governance CA Identity Portal CA Identity Suite

Issue/Introduction

We have managed to create JDBC Dynamic Connector using Connector Xpress. The JDBC Endpoint Type was created at the Provisioning Server and RoleDefinitionGenerator script was run to create Role Definition jar file and it was saved under deployments/iam_im.ear/user_console.war/WEB-INF/lib directory and deployed successfully. The Role Definition was imported into the Environment via IM Management Console and we have managed to acquire the Endpoint. However,  when we try to create account manually from IM User Console, i.e. using Users > Manage Users > Modify User's Endpoint Account task, the task was completed successfully but some attribute values were not propagated to the Endpoint database table.


Environment

Release : 14.x

Endpoint : MS SQL Server

Cause

In the exported metadata of the JDBC Dynamic Connector, we found that displayName (Name) and beanPropertyName (JavaBean Property Name) value of the missing attribute is set to a number instead of a string value.


            <property name="eTDYN-str-multi-04">
                <doc></doc>
                <value default="false">
                    <intValue>0</intValue>
                </value>
                <metadata name="displayName">
                    <value>
                        <strValue>0</strValue>
                    </value>
                </metadata>

                <metadata name="connectorMapTo">
                    <value>
                        <strValue>FIRSTLOGIN</strValue>
                    </value>
                </metadata>
                <metadata name="beanPropertyName">
                    <value>
                        <strValue>0</strValue>
                    </value>

                </metadata>
                <metadata name="maxLength">
                    <value>
                        <intValue>10</intValue>
                    </value>
                </metadata>
                <metadata name="isRequired">
                    <value>
                        <boolValue>false</boolValue>
                    </value>
                </metadata>
            </property>


This causes the problem. The beanPropertyName value should be a string value for the data to be synchronized to the Endpoint.

Resolution

Do the following steps to address this problem.


1. Open the Project again using Connector Xpress and change beanPropertyName of the missing attribute to string value. Select the attribute on the Mapping Tree pane (left pane) to show its Attribute Details page. On top please change Name (displayName) field to string value. At the bottom Advanced Options section, set JavaBean Property Name (beanPropertyName) to the same string value. Do similarly for other missing attributes.


2. Save the Project


3. Right click on the JDBC Endpoint Type item on the right Provisioning Servers Tree pane and select Deploy Metadata to update Metadata into Provisioning Server.

A "Deploy Metadata" dialog will be shown, increase the metadata version, e.g. from 1.0 to 1.1 and click Yes.




4. Use RoleDefinitionGenerator script to create the updated jar file again. Run the following under IAM_Suite/IdentityManager/tools/RoleDefinitionGenerator/bin directory

         ./RoleDefGenerator.sh -d im -h <Provisioning Server hostname> -u etaadmin <JDBC Endpoint Type name>


5. Copy the new updated jar file into deployments/iam_im.ear/user_console.war/WEB-INF/lib directory to overwrite the existing file and restart IM.


6. Login to Management Console and go to Environments > identityEnv > Role and Task Settings > [Import...] and find the JDBC Endpoint Role Definition v1.2 item, select it and click [Finish] button to import. Click [Continue] and then you will be prompted to restart the Environment. Click [Restart Environment]

Additional Information

How To Create and Deploy Connectors