OIM : Assign AD resource : An error occurred because the Adapters are not compiled : How to compile adapters in OIM

Oracle Identity Manager (OIM) is an account/identity provisioning and reconciliation software and is part of Oracle Identity Management Suite. OIM comes with pre-defined connectors that are used to integrate OIM with other applications like Microsoft Active Directory, Microsoft Exchange, Oracle E-Business Suite, Oracle Databases etc.

  • For Connector basics : Resources, Reconciliation, and Provisioning click here
  • For more information on type of connectors Java vs .NET (dot net) click here
  • For OIM connectors for Microsoft (Active Directory, Exchange, and Windows) click here
  • For OIM-OID connector architecture click here
  • For OIM-Oracle eBusiness Suite connector click here
Note: OIM 11g+ can also be integrated with OID (or LDAP servers) using LDAPSync . More on LDAP Sync here, here, and here
This post covers an issue I encountered while provisioning an account in Microsoft Active Directory from OIM. On provisioning an Account to Microsoft Active Directory, I received an error
An error occurred because the Adapters are not compiled
Exception details: adapter not compiled: adidc populate form field adapter not compiled: adidc populate form field adapter not compiled: adidc populate form field adapter not compiled: adidc populate form field adapter not compiled: adidc populate form field adapter not compiled: adidc prepopulate user full name adapter not compiled: adidc prepopulate user full name adapter not compiled: adidc prepopulate userprincipalname

 

  • More on Adapters in OIM here and here
As adapters in OIM were in status “CODE GEN ERROR …”  so I attempted to compile adapters using OIM Design Console.

 

 

To compile adapter click here , Adapter compilation failed with below error in OIM managed server logs

___

<Oct 19, 2012 5:13:22 PM UTC> <Error> <XELLERATE.ADAPTERS> <BEA-000000> <Class/Method: tcAdpUtils/createAdapter encounter some problems: Code Generation Failed For ‘ADIDC Prepopulate User Full Name’ adapter>
<Oct 19, 2012 5:13:22 PM UTC> <Error> <XELLERATE.ADAPTERS> <BEA-000000> <Class/Method: tcAdpUtils/genXellerateAdapter encounter some problems: /tmp/oracle/oim/adapters/adpADIDCPREPOPULATEUSERPRINCIPALNAME.java (No such file or directory)
java.io.FileNotFoundException: /tmp/oracle/oim/adapters/adpADIDCPREPOPULATEUSERPRINCIPALNAME.java (No such file or directory)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
at java.io.FileWriter.<init>(FileWriter.java:73)
at com.thortech.xl.dataobj.util.tcAdpUtils.genXellerateAdapter(tcAdpUtils.java:1367)

_____

Root Cause: File in /tmp/oracle was owned by different user (user other than that running OIM software).

Fix: Change permission (grant Read, Write & Execute ) on /tmp/oracle to user running OIM managed servers. After changing permission , compile adapters in OIM again using design console.

 

 

Share This Post with Your Friends over Social Media!

About the Author Atul Kumar

Oracle ACE, Author, Speaker and Founder of K21 Technologies & K21 Academy : Oracle Gold Partner specialising in Design, Implement, and Trainings.

follow me on:

Leave a Comment: