Disclaimer: Some information in this article may be outdated, please verify details by referring to latest resources or reach out to our technical teams.
Introduction
In an effort to better enable both partners and customers, we have outlined a process that allows technically savvy customers the ability to make modifications to their JDBC provisioning rule without directly engaging IdentityNow's Expert Services team. We do not recommend this approach if you do not have the correct technical resources on hand with at least an intermediate level knowledge of Java.
Prerequisites
Elements of the project
Building a project structure
Within Eclipse, or any other IDE, your file structure should be as follows:
Make sure that you have imported the 'identityiq.jar' and you can see it in your Maven dependencies.
Elements of the Primary Java class
This is the foundation that handles our project. Every request initially comes here and then calls other methods.
Elements of the Auxiliary Java class
Clean Compile Package
The next step is to compile your Maven package. Upload the jar that is created to the source config.
Final Notes:
JDBC Rules can be very complicated depending on the source you are trying to connect to. We STRONGLY recommend that if you have any questions, bring them up to the Expert Services team for assistance.
Thanks @cassidiopia, @manoj_caisucar .
I am now seeing a weird error, the user account's status is getting disabled in DB via the custom code that I have written as part of JDBC provisioning rule.
However the account status in IdentityNow is not getting changed to Disabled. In the event log search, I am getting below error
How are you handling the IIQDisabled attribute a part of aggregation.
Also can you check the schema type and the one which you are handling in the code if they are matching.
Hi @mohanas ,
Were you able to figure out issue for "invalid object name" error? I am also facing the same.
I was getting this error because of code issue. I had to put System.out.println("") to identify the root cause.
Probably you can try to do the same to see if it is code issue. Hope this helps.
I have used this statement as well in my code and I do not see any logs in my ccg.log. What kind of log the customJDBClog is referring to?
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
Log _log = LogFactory.getLog("customJDBCLog");
@Amber_Campbell I was trying to get the Identity object using getIdentity method which was throwing null pointer exception. In your case it might be for something else. Try adding System.out.println statements to see where the code is getting errored out.
Hi SailPoint Team:
The Prerequisites list (bullet 2) mentions that we need a JDBC driver JAR, and the image in the "Clean Compile Package" section shows only one ojdbc6.jar file.
In our case, our project requires 3 related libraries to connect to MongoDB databases:
Is it possible to upload our main JAR file and these other three libraries, or is the system limited to only one JDBC driver JAR file per source? I ask this because the "Required JDBC Driver JAR Files" document mentions drivers with a single JAR file for each database type.
Thank you for your help.
Recently we got one strange thing, we had tried to modify the jar by adding some logs in that java file, however there is no related logs printed, even we changed the jar name we deployed and we also modify some decriptions in the source and restart the ccg, it still failed.
It seems that SailPoint is always picking the orignial jar we deployed. It is some bugs related.
Is there any advices on this? @cassidiopia
@Michael_Tai I am facing the similar issue, were you able to get it working?