Chuyển đến nội dung chính

Registering a Plugin using OIM APIs

Version: Oracle Identity Manager 11g R2
package com.oracle.utility;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Hashtable;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.security.auth.login.LoginException;
import oracle.iam.platform.OIMClient;
import oracle.iam.platform.pluginframework.PluginException;
import oracle.iam.platformservice.api.PlatformService;
import oracle.iam.platformservice.api.PlatformUtilsService;
import oracle.iam.platformservice.exception.PlatformServiceAccessDeniedException;
/**
 * @author Pham Thanh Tung
 * Email: phamthanhtungdcn@gmail.com
 * 21-06-2017
 */
public class RegisterPlugin {
    public static final String OIM_HOSTNAME = "10.4.18.101";
    public static final String OIM_PORT = "14000";
    public static final String OIM_PROVIDER_URL = "t3://"+ OIM_HOSTNAME + ":" + OIM_PORT;
    public static final String OIM_USERNAME = "xelsysadm";
    public static final String OIM_PASSWORD = "admin";
    public static final String OIM_CLIENT_HOME = "F:/designconsole11gr3";
    public static final String AUTHWL_PATH = OIM_CLIENT_HOME + "/config/authwl.conf";
    public static final String PLUGIN_ZIP_PATH = "F:/Solution/Oracle/Idm/Connector Bundle OIM PS3/Plugin/SampleScheduledTask.zip";
 
    public static void main (String args[]) throws Exception{
        OIMClient oimClient = null;
        FileInputStream fis = null;
       
        try
        {
             //Set system properties required for OIMClient
            System.setProperty("java.security.auth.login.config", AUTHWL_PATH);
            System.setProperty("APPSERVER_TYPE", "wls");

            // Create an instance of OIMClient with OIM environment information
            Hashtable env = new Hashtable();
            env.put(OIMClient.JAVA_NAMING_FACTORY_INITIAL, "weblogic.jndi.WLInitialContextFactory");
            env.put(OIMClient.JAVA_NAMING_PROVIDER_URL, OIM_PROVIDER_URL);
            oimClient = new OIMClient(env);

            // Login to OIM with the approriate credentials
            oimClient.login(OIM_USERNAME, OIM_PASSWORD.toCharArray());
         
            // Zip file conversion to byte
            String fileName = PLUGIN_ZIP_PATH;
            File zipFile = new File(fileName);
            fis = new FileInputStream(zipFile);
            int size = (int) zipFile.length();
            byte[] b = new byte[size];
            int bytesRead = fis.read(b, 0, size);
         
            while (bytesRead < size)
            {
                bytesRead += fis.read(b, bytesRead, size - bytesRead);
            }
         
            // Register Plugin to OIM
            PlatformService service = oimClient.getService(PlatformService.class);
            service.registerPlugin(b);

            // Purge Cache
            PlatformUtilsService platUtilOps = oimClient.getService(PlatformUtilsService.class);
            platUtilOps.purgeCache("ALL");
            System.out.println("Register Done!");
        }
     
        catch (FileNotFoundException ex)
        {
            Logger.getLogger(RegisterPlugin.class.getName()).log(Level.SEVERE, null, ex);
        }
     
        catch (PlatformServiceAccessDeniedException ex)
        {
            Logger.getLogger(RegisterPlugin.class.getName()).log(Level.SEVERE, null, ex);
        }
     
        catch (PluginException ex)
        {
            Logger.getLogger(RegisterPlugin.class.getName()).log(Level.SEVERE, null, ex);
        }
     
        catch (IOException ex)
        {
            Logger.getLogger(RegisterPlugin.class.getName()).log(Level.SEVERE, null, ex);
        }
     
        catch (LoginException ex)
        {
            Logger.getLogger(RegisterPlugin.class.getName()).log(Level.SEVERE, null, ex);
        }
     
        finally
        {
            // Logout user from OIMClient
            if(oimClient != null)
            {
                oimClient.logout();
            }
            try
            {
                fis.close();                
            }
         
            catch (IOException ex)
            {
                Logger.getLogger(RegisterPlugin.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
}

Nhận xét

Bài đăng phổ biến từ blog này

Uninstalling an OIM Connector

Version: Oracle Identity Manager 11.1.2.3.0 Step 1: Modify "ConnectorUninstall.properties" located in the "/home/oracle/Oracle/Middleware/Oracle_IDM1/server/bin" directory. Step 2: Here is a brief description of each parameter defined in the file: DatabaseURL: location of the Oracle Database DbUserName: Name of the OIM schema Location: Place where you want the log files of this process to be. ConnectorName: Name of the connector (Same as in the OIM console: Advanced-> Manage Connector -> search. Use the Connector Name field.) Step 3: Run the" uninstallConnector.sh" script located in "/home/oracle/Oracle/Middleware/Oracle_IDM1/server/bin" directory. [Enter the DB Password :] <OIM schema password> [Enter OIM Administrator Name :] xelsysadm [Enter the OIM Administrator Password :] [Enter OIM Server t3 URL [Ex. t3://localhost:7001/ ]:] t3://localhost:14000 Step 4: Execute the "DeleteJars.sh...

Rich Diagnostics

Source: https://abhirockzz.wordpress.com Oracle IDM R2 PS2 provides some really efficient troubleshooting, monitoring and diagnostic features. This post will provide a quick overview of the same and delve into using one such feature to resolve a practical issue. New Diagnostic Features: Overview 1.  Orchestration diagnostics  – The EM console can be used to drill down into the Orchestration related details of events within OIM      A  Dashboard  to view recent operations and events Info regarding  ALL the event handlers  attached to a particular operation – including   CUSTOM  developed. No more digging into XMLs form MDS ! Powerful  search  features for all  Operations  (search by Operation Type, Operation ID etc) 2.  Dynamic Monitoring Service (DMS)  is an Oracle FMW component which enables  performance tracking  of various OIM modules and ...