Monday, September 23, 2019

SAILPOINT IDENTITY IQ CONTEXT AND TESTING API USING ECLIPSE IDE

SAILPOINT IIQ CONTEXT AND TESTING API USING ECLIPSE IDE

Create the Java Project as per the structure given below , Make sure to create the Resource Dir and copy the latest updated object .hbm files and iiq.properties files (Password as plain Text)

This sailpoint IIQ context creation will be really good if you want to quick test any API for the development..





package com.vishal.connection;


import sailpoint.api.SailPointContext;
import java.text.SimpleDateFormat;
import sailpoint.object.AuditEvent;
import sailpoint.api.SailPointFactory;
import sailpoint.connector.ExpiredPasswordException;
import sailpoint.object.Identity;
import sailpoint.object.IdentitySelector;
import sailpoint.object.IdentityTrigger;
import sailpoint.object.QueryOptions;
import sailpoint.object.Rule;
import sailpoint.spring.SpringStarter;
import sailpoint.tools.GeneralException;

import java.util.*;


public class Connection {
 public static SailPointContext context;
 /**
  * @param args
  * @throws GeneralException 
  * @throws ExpiredPasswordException 
  */
 public static void main(String[] args) throws GeneralException {
  //IIQ propeties file must be present in java project.
  SpringStarter starter = new SpringStarter("iiqBeans"); 
  starter.start();
  SailPointContext context = SailPointFactory.createContext();
  Identity identity = context.getObject(Identity.class, "spadmin");
  String displayName=identity.getDisplayName();
       System.out.println("Identity Details " + identity.getFirstname() + identity.getLastname());
       starter.close();

 }
}




11 comments:

  1. Awesome ! This really helps with Sailpoint API testing .

    ReplyDelete
  2. Hi Vishal,

    Thanks for the share. I tried to mimic the setup and ran into below issue. Am I missing any pre-reqs ?

    Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'versionChecker' defined in class path resource [configBeans.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: Unable to check IdentityIQ database version: Cannot create PoolableConnectionFactory (Access denied for user 'identityiq'@'localhost' (using password: YES))
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1630)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)

    ReplyDelete
    Replies
    1. What version are you in ? if you have applied any patch try to get the latest version of all the jar files and add into the classpath.

      Delete
    2. I am even seeing similar issue. Can you share the project so that it would help. FYI, I am using sailpoint 7.1 with mysql 8. I made changes such that i am able to setup iiq but somehow i am not able to create connection to mysql within eclipse

      Delete
  3. Hi Vishal,

    Is it possible to place multiple iiq.properties files in the src folder and refer the one whichever is required. For e.g. iiq1.properties, iiq2.properties etc.

    ReplyDelete
    Replies
    1. are you planning to connect based on the environment ? it should be doable but i haven't tried, will let you know once i try this one.

      Delete
  4. Hi
    Anyone can help this queory To parse the file you must specify either a delimiter or a regular expression, both options cannot be specified.

    ReplyDelete
  5. Hello Vishal, I hope you are doing well.
    If you dont mine can you make a vido on this?

    ReplyDelete
  6. Getting below error in Eclipse :

    Error occurred during initialization of boot layer
    java.lang.module.FindException: Unable to derive module descriptor for C:\IIQ\apache-tomcat-8.5.61\webapps\identityiq\WEB-INF\lib\aws-sdk-modules-1.0.jar
    Caused by: java.lang.module.InvalidModuleDescriptorException: Provider class com.fasterxml.jackson.core.JsonFactory not in module

    ReplyDelete
    Replies
    1. The reason behind this is that meanwhile creating your own class, you had also accepted to create a default class as prescribed by your IDE and after writing your code in your own class, you are getting such an error. In order to eliminate this, go to the PROJECT folder → src → Default package. Keep only one class (in which you had written code) and delete others.

      After that, run your program and it will definitely run without any error.

      Delete