Bulk provisioning to LDAP using sun connector

Hi guys,
I am able to provision only single OIM user at time to LDAP directory using sun connector.
Could any one please suggest me the approach of how to provision multiple users at a time.
divya

What Octavian has said is right have 2 it resources and then have a ItResourceLookup Field in your process form. You can either have it to default to any one of the ItResource (OID server) or you can allow the admin to select this during direct provisioning. Depends on how you are doing provisioning i.e. direct or request based or policy based.

Similar Messages

  • Reg: Recon using sun connector

    Hi guys,
    I am trying to recon users using sun connector from LDAP directory to OIM.
    I got the error below when i scheduled the recon task
    10:26:00,265 INFO [SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> R
    econciliation Starts
    10:26:00,265 INFO [SJSDS] Proceeding to perform the reconciliation task
    10:26:00,265 INFO [SJSDS] Please wait..........................................
    10:26:00,281 INFO [SJSDS] Inside constructSearchFilterForReconcilingUsers metho
    d
    10:26:15,484 INFO [SJSDS]
    10:26:15,500 ERROR [STDERR] javax.naming.ServiceUnavailableException: dfo
    rcedmz.mu.intra.net:636; socket closed
    10:26:15,500 ERROR [STDERR] at com.sun.jndi.ldap.Connection.readReply(Connec
    tion.java:416)
    10:26:15,500 ERROR [STDERR] at com.sun.jndi.ldap.LdapClient.ldapBind(LdapCli
    ent.java:340)
    10:26:15,500 ERROR [STDERR] at com.sun.jndi.ldap.LdapClient.authenticate(Lda
    pClient.java:192)
    10:26:15,500 ERROR [STDERR] at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.jav
    a:2658)
    10:26:15,500 ERROR [STDERR] at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java
    :287)
    10:26:15,500 ERROR [STDERR] at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(
    LdapCtxFactory.java:175)
    10:26:15,500 ERROR [STDERR] at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs
    (LdapCtxFactory.java:193)
    10:26:15,500 ERROR [STDERR] at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxIn
    stance(LdapCtxFactory.java:136)
    10:26:15,500 ERROR [STDERR] at com.sun.jndi.ldap.LdapCtxFactory.getInitialCo
    ntext(LdapCtxFactory.java:66)
    10:26:15,500 ERROR [STDERR] at javax.naming.spi.NamingManager.getInitialCont
    ext(NamingManager.java:667)
    10:26:15,500 ERROR [STDERR] at javax.naming.InitialContext.getDefaultInitCtx
    (InitialContext.java:288)
    10:26:15,500 ERROR [STDERR] at javax.naming.InitialContext.init(InitialConte
    xt.java:223)
    10:26:15,500 ERROR [STDERR] at javax.naming.ldap.InitialLdapContext.<init>(I
    nitialLdapContext.java:134)
    10:26:15,500 ERROR [STDERR] at com.thortech.xl.integration.iplanet.recon.sch
    edule.tasks.tcTskIPlanetUserReconciliation.countRecord(Unknown Source)
    10:26:15,500 ERROR [STDERR] at com.thortech.xl.integration.iplanet.recon.sch
    edule.tasks.tcTskIPlanetUserReconciliation.analyzeTypeOfReconciliation(Unknown S
    ource)
    10:26:15,500 ERROR [STDERR] at com.thortech.xl.integration.iplanet.recon.sch
    edule.tasks.tcTskIPlanetUserReconciliation.processChange(Unknown Source)
    10:26:15,515 ERROR [STDERR] at com.thortech.xl.integration.iplanet.recon.sch
    edule.tasks.tcTskIPlanetUserReconciliation.execute(Unknown Source)
    10:26:15,515 ERROR [STDERR] at com.thortech.xl.scheduler.tasks.SchedulerBase
    Task.run(Unknown Source)
    10:26:15,515 ERROR [STDERR] at com.thortech.xl.scheduler.core.quartz.QuartzW
    rapper$TaskExecutionAction.run(Unknown Source)
    10:26:15,515 ERROR [STDERR] at Thor.API.Security.LoginHandler.jbossLoginSess
    ion.runAs(Unknown Source)
    10:26:15,515 ERROR [STDERR] at com.thortech.xl.scheduler.core.quartz.QuartzW
    rapper.execute(Unknown Source)
    10:26:15,515 ERROR [STDERR] at org.quartz.core.JobRunShell.run(JobRunShell.j
    ava:203)
    10:26:15,515 ERROR [STDERR] at org.quartz.simpl.SimpleThreadPool$WorkerThrea
    d.run(SimpleThreadPool.java:520)
    10:26:15,515 ERROR [SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] -->
    execute(): failed. Exception in execute() method.
    Any suggestions please.....
    could any please respond at the earliest.
    Thanks,
    divya

    Hi Kelvin,
    I am able to connect through LDAP browser.
    I am able to do provisioning also.
    I followed the following steps to do recon
    1. i imported iPlanetXLResourceObject.xml using Depolyment manager.
    2.In Task scheduler, stop execution and disable check boxes are not checked ,XLDeleteUsersAllowed is set to true, user container is set to one of the LDAP branch,
    Trusted source to true, rest of the values are default values.
    3.In ITResorce, in the Recon Attribute Lookup Code is set to AttrName.Recon.Map
    I scheduled a recon task and deleted a user in LDAP.
    I am getting the above said error,should i set any other values other than these.
    Kindly suggest me the approach,
    Thanks,
    divya

  • Recon using sun connector and openldap

    Hi guys,
    Did any one tried out recon using openldap and sun connector ?
    I am using OIM 9.1.0.1 , sun conncetor 9.0.4 and openldap 2.4.
    when i tried, i got an error "LDAP error code:12 critical extension unvailable".
    Could any one please help me in this issue.
    divya

    Hi Kevin,
    I didn't put any search filter in IT Resource.
    This is log .....
    009-04-16 12:53:00,156 INFO [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> Reconciliation Starts
    2009-04-16 12:53:00,156 INFO [XL_INTG.SJSDS] Proceeding to perform the reconciliation task
    2009-04-16 12:53:00,156 INFO [XL_INTG.SJSDS] Please wait.................................................
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> processChanges(): searchDN = ou=people,dc=mycompany,dc=com
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> getLookUpValue() Role Name = nsroledn
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> getLookUpValue() Group
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> processChanges(): searchDN = ou=people,dc=mycompany,dc=com
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> getLookUpValue() Role Name = nsroledn
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> getLookUpValue() Group Name = uniquemember
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> getSearchAttributes() Search Attributes null
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> getSearchAttributes() Search Attributes telephoneNumber
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> getSearchAttributes() Search Attributes uniquemember
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> getSearchAttributes() Search Attributes nsroledn
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> getSearchAttributes() Search Attributes departmentNumber
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> getSearchAttributes() Search Attributes modifytimestamp
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> getSearchAttributes() Search Attributes l
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> getSearchAttributes() Search Attributes uid
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> getSearchAttributes() Search Attributes title
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> getSearchAttributes() Search Attributes o
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> getSearchAttributes() Search Attributes mail
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> getSearchAttributes() Search Attributes initials
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> getSearchAttributes() Search Attributes preferredlanguage
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> getSearchAttributes() Search Attributes sn
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> getSearchAttributes() Search Attributes givenname
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcUtilCustomizedReconciliationqueries -> Entering & Leaving constructor for class tcUtilCustomizedReconciliationqueries ******************
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] ReconQuery*********************************************
    2009-04-16 12:53:00,156 INFO [XL_INTG.SJSDS] Inside constructSearchFilterForReconcilingUsers method
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] searchFilter with Timestamp*************************(&(objectclass=inetOrgPerson)(modifytimestamp>=19000101010001Z))
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] The constructed searchfilter is: (&(objectclass=inetOrgPerson)(modifytimestamp>=19000101010001Z))
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> processChanges(): searchFilter = (&(objectclass=inetOrgPerson)(modifytimestamp>=19000101010001Z))
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> processChanges(): searchAttributes = [Ljava.lang.String;@1bfd316
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> processChanges(): searchFilter = (&(objectclass=inetOrgPerson)(modifytimestamp>=19000101010001Z))
    2009-04-16 12:53:00,156 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> processChanges(): searchAttributes = [Ljava.lang.String;@1bfd316
    2009-04-16 12:53:00,171 DEBUG [XL_INTG.SJSDS] Before search time: Thu Apr 16 12:53:00 IST 2009
    2009-04-16 12:53:00,281 DEBUG [XL_INTG.SJSDS] TotalRecords from LDAP: 20
    2009-04-16 12:53:00,281 DEBUG [XL_INTG.SJSDS] After search time: Thu Apr 16 12:53:00 IST 2009
    2009-04-16 12:53:00,281 DEBUG [XL_INTG.SJSDS] total number of batches= ALL AVAILABLE
    2009-04-16 12:53:00,281 DEBUG [XL_INTG.SJSDS] The searchBase is: ou=people,dc=mycompany,dc=com
    2009-04-16 12:53:00,296 INFO [XL_INTG.SJSDS] Problem searching directory: javax.naming.OperationNotSupportedException: [LDAP: error code 12 - critical extension is not recognized]; remaining name 'ou=people,dc=mycompany,dc=com'
    2009-04-16 12:53:00,296 INFO [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> Reconciliation Ends
    2009-04-16 12:53:00,312 INFO [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> processChanges(): exit
    2009-04-16 12:53:00,312 DEBUG [XL_INTG.SJSDS] tcTskIPlanetUserReconciliation[RO=iPlanet User] --> execute(): exit
    2009-04-16 12:53:07,953 DEBUG [org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy] Running RemoverTask
    2009-04-16 12:53:07,953 DEBUG [org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy] RemoverTask, PassivatedCount=0
    Thanks,
    divya

  • Group Provisioning in LDAP

    HI,
    Can I provision a 'group' in LDAP through Sun Idm? if so please let me know the steps to do that.
    Thanks
    Message was edited by:
    Raja.Samy
    Message was edited by:
    Raja.Samy

    Can you be a bit more specific when you say provision a group? Do you mean create a new group in LDAP, modify and existing group? Off the top of my head I believe you can use the create resource object from. On the resources Tab, under Resource Actions ( I believe) there is a selection for create resource object. That might suit your needs.

  • Error while authenticating BPEL WorklistApplication using sun java server

    Hi,
    I have got a situation where i need to use sun java server to authenticate users and groups who can log into the BPEL worklist application.
    This is what i have done.
    I went to middleware services,BPEL,orabpel and to hw services.
    There i changed the Security provider to thrid party LDAP Server.
    the LDAP connection is successfull.
    But when i m loggin onto the Worklist App it says Username invalid .Somehow it autheticates against systemjazndata.xml file .But it's not supposed to do so and validate against the ldap.
    Any help is highly appreciated..

    Hi,
    I have got a situation where i need to use sun java server to authenticate users and groups who can log into the BPEL worklist application.
    This is what i have done.
    I went to middleware services,BPEL,orabpel and to hw services.
    There i changed the Security provider to thrid party LDAP Server.
    the LDAP connection is successfull.
    But when i m loggin onto the Worklist App it says Username invalid .Somehow it autheticates against systemjazndata.xml file .But it's not supposed to do so and validate against the ldap.
    Any help is highly appreciated..

  • JMS : Using SUN MQUEUE as a JMS Provider

    Hi guys,
    I'm having quite some trouble in configuring a JMS scenario...
    I'm using SUN MQueue as a JMS Provider. I've installed the respective drivers, imq.jar, fscontext.jar and jms.jar.
    I had no trouble in deploying this drivers on the SDM.
    Now, after creating a receiver JMS communication channel, I get the following error on the RWB:
    Error during channel initialization; exception trace: java.lang.NoSuchMethodException: com.sun.messaging.QueueConnectionFactory.(java.lang.String)
    at java.lang.Class.getConstructor0(Class.java:1937)
    at java.lang.Class.getConstructor(Class.java:1027)
    at com.sap.aii.af.service.jms.WorkerJMSSender.init(WorkerJMSSender.java:474)
    I've searched XI logs, in order of getting some light on the subject...This was what I've got:
    #com.sap.aii.af.service.jms.WorkerJMSSender.init(WorkerHandler moduleHandler, Object para)#J2EE_GUEST#0####975a11b0c58b11dbce6700145e1855ec#SAPEngine_Application_Thread[impl:3]_19##0#0#Error##Java###Unable to create the QueueConnectionFactory due to #1#SUNMQUEUE_IP:SUNMQUEUE_Port#
    My question is what is #1#....
    I've read a few forum threads, but none of them can clarify my error....
    I've tried the same scenario using Business Connector...Of course, in BC I had to create 2 JAVA services, one for sending and another for receiving messages...there was no problem with this, I did managed to send JMS Messages to SUN MQUEUE...
    Can anyone give a hint....anything...?

    Hi,
    This is something related to JMS Adapter configuration settings and security ...
    please check .. all your settings..
    <i>This is the SonicMQ implementation of the QueueConnectionFactory.
    A JMS client, in this case the adapter, uses a QueueConnectionFactory object to generate QueueConnection objects of a JMS provider.
    The default value for SonicMQ 3.0 is progress.message.jclient.QueueConnectionFactory</i>
    See also..below links
    http://help.sap.com/saphelp_nw04/helpdata/en/c1/739c4186c2a409e10000000a155106/content.htm
    Installation problem: Central Instance 6.40 Oracle on Linux 32
    Regards
    Chilla..

  • JCA and Sun Connector tool

    I am trying to find the sun connector tool to develop connectors and I do not seem to find it. Any hints?
    thanks a lot!

    <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">quote:</font><HR>Originally posted by Andrew Buckby ([email protected]):
    I have been trying to use the SUN Deploytool to create .ear file for auto-deployment within Orion.
    There are some small differences such as the JNDI naming method. But the big problem is during auto-deployment where I get the following error:
    Auto-unpacking Error in application hello-planet-sun: Error loading package at file:/D:/temp/j2ee/home/
    applications/Hello-planet-sun/ejb-jar-ic.jar, Illegal use-caller-identity value, legal values are True and False.
    Has anyone any ideas as to which XML file tag needs ammending to get an ear to auto-deploy? Or is there a better way in which to craete an ear file?
    thanks in advance<HR></BLOCKQUOTE>
    Andrew -
    In the past there have been problems with the Deploytool from Sun as relates to Orion. I don't know if those problems have been worked out, but none-the-less I gave up on that a year or so ago. I use ant to create my ear files in practice but am currently evaluating the JDeveloper beta and thus far am reasonably impressed with the ease of use. I would give that a try if you have the bandiwdth to download it. Investigate Ant for another alternative - though you have to create your own web.xml and ejb-jar.xml files (as well as the application*.xml files). Sometimes I use the sucky tools that come with Orion (OCJ4) to help out as far as creating the related XML files and to create the ear file. Depends on my level of tolerance that particular day.

  • Problem in connecting to LDAP using JNDI please HELP ME!!!!!!

    hi
    i am trying to connect to the LDAp using the JNDi
    and i am getting the following error i was unable to solve it
    here i am posting my sample slapd.cof file as well as my source program and the error
    # ldbm database definitions
    database        ldbm
    #suffix         "dc=stooges,dc=org"
    suffix          "o=sgstest"
    rootdn          "cn=sgstestAdmin,o=sgstest"
    rootpw          secret3
    directory       /var/lib/ldap/sgstest
    defaultaccess   read
    schemacheck     off
    lastmod         onand my program source code is
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.naming.NameAlreadyBoundException;
    import javax.naming.directory.*;
    import java.util.*;
    public class test{
            final static String ldapServerName = "localhost";
            final static String rootdn = "cn=SgstestAdmin,o=sgstest";
            final static String rootpass = "secret3";
            final static String rootContext = "o=sgstest";
            public static void main(String[] args) {
                    Properties env = new Properties();
                    env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
                    env.put(Context.SECURITY_AUTHENTICATION,"simple");
                    env.put(Context.PROVIDER_URL,"ldap://"+ldapServerName+"/"+rootContext);
                    env.put(Context.SECURITY_PRINCIPAL,rootdn);
                    env.put(Context.SECURITY_CREDENTIALS,rootpass);
                    try {   // obtain initial directory context using the environment
                            DirContext ctx = new InitialDirContext(env);
                           // now, create the root context, which is just a subcontext
                            // of this initial directory context.
                            Integer i = new Integer( 28420 );
                            System.out.println("Adding " + i + " to directory..." );
                            ctx.bind("cn=myRandomInt",i);
                            i = new Integer( 98765 );
                            System.out.println( "i is now: " + i );
                    } catch (NameAlreadyBoundException nabe) {
                            System.err.println(rootContext + " has already been bound!" );
                    } catch ( Exception e ) {
                            System.err.println( e );
                                                                                                               1,17          Top
    }the error which i am getting is
    Adding 28420 to directory...
    javax.naming.directory.InvalidAttributeIdentifierException:
    [LDAP: error code 17 - javaSerializedData: attribute type undefined]; remaining name 'cn=myRandomInt'any help would be appreciated

    Hi,
    just one question: is your LDAP server configured to support the JAVA object classes and attributes like javaSerializedData? E.g., if you're using openldap, you have to add a line to the slapd.conf configuration file to import the java definitions.

  • Role Provisioning failed for System(s) : Connector Name . Error Message : malformedRequest

    Hi Everyone we are facing following issue in GRC-SAC-SAE 5.3_16.3. So far our CUP was connected to Enterprize portal (7.01) and auto provisioning for group to users worked. However now it is not working with below error.
    Role Provisioning failed for System(s) : <Connector Name>. Error Message :
    malformedRequest
    Failed request now
    Successful request used to provision
    Regards,
    Arpan Paik

    Arpan,
    We used to get those "malformed request" errors. We dealt with them by requesting the portal to be re-booted during the weekend maintenance window, making the portal security changes manually, cancelling the CUP request and notifying the requester. It's not a great solution, I know, but it was all we could come up with at the time. Then they upgraded the portal to NW 7.31, which is incompatible with GRC 5.3, and we have to do everything manually, so our situation went from bad to worse. Good luck!
    Cheers,
    Gretchen

  • CUP Provisioning into LDAP

    Hi Gurus,
    We are trying to figure out if we can provision a NEW user ID into LDAP (AD) through CUP? Ideally we will have a Manager enter a request into CUP that includes a user's SAP access as well as AD and have CUP autoprovision this access.
    In reading the guides it seems CUP can only write groups to existing AD users.
    Does anyone have any thoughts or experiences?
    Thanks,
    Grace Rae

    Grace,
    CUP can provision existing LDAP groups to existing IDs, but as you said, cannot create new ones.  The best method to incorporate this would be to connect CUP to an IDM system to provision the ID and access.  If this is not acceptable, the other option is to create a custom connector that would communicate with a third party application (such as a macro/script) that would create the IDs through a separate process.
    I know this isn't the news you want to hear, but I hope it helps!
    Tyler

  • Need help in retrieving attributes from LDAP using JNDI

    I am trying to retrieve attributes from LDAP using JNDI, but I'm getting the following error when I try to run my Java program.
    Exception in thread "main" java.lang.NoClassDefFoundError: javax/naming/NamingException
    I have all the jar files in my classpath: j2ee.jar, fscontext.jar and providerutil.jar. The interesting thing is that it gets compiled just fine but gives an error at run-time.
    Could anyone tell me why I'm getting this error? Thanks!
    Here's my code:
    import javax.naming.*;
    import javax.naming.directory.*;
    import java.util.*;
    import java.io.*;
    class Getattr {
    public static void main(String[] args) {     
    // Identify service provider to use     
    Hashtable env = new Hashtable(11);     
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");      
    // user     info
    String userName = "username";     
    String password = "password";          
    // LDAP server specific information     
    String host = "ldaphostname";     
    String port = "portnumber";     
    String basedn = "o=organization,c=country";     
    String userdn = "cn=" + userName + "," + basedn;          
    env.put(Context.PROVIDER_URL, "ldap://" + host + ":" + port + "/" + basedn);     
    env.put(Context.SECURITY_PRINCIPAL, userdn);     
    env.put(Context.SECURITY_CREDENTIALS, password);     
    try {          
    System.setErr(new PrintStream(new FileOutputStream(new File("data.txt"))));     
    // Create the initial directory context     
    DirContext ctx = new InitialDirContext(env);          
    // Ask for all attributes of the object      
    Attributes attrs = ctx.getAttributes("cn=" + userName);          
    NamingEnumeration ne = attrs.getAll();                    
    while(ne.hasMore()){                         
    Attribute attr = (Attribute) ne.next();                                   
    if(attr.size() > 1){               
    for(Enumeration e = attr.getAll(); e.hasMoreElements() ;) {                                       
    System.err.println(attr.getID() + ": " + e.nextElement());                     
    } else {
         System.err.println(attr.getID() + ": " + attr.get());
    // Close the context when we're done     
    ctx.close();     
    } catch(javax.naming.NamingException ne) {
         System.err.println("Naming Exception: " + ne);     
    } catch(IOException ioe) {
         System.err.println("IO Exception: " + ioe);     

    That doesn't work either. It seems its not finding the NamingException class in any of the jar files. I don't know why? Any clues?

  • Creating user in LDAP using Oracle Identity Store API

    We are trying to create users in LDAP (open LDAP) using Oracle's Fusion Middleware's Oracle Identity Service API. Here is my code snippet to create user,
              final IdentityStoreService identityStoreService = jpsContextFactory
                        .getContext().getServiceInstance(IdentityStoreService.class);
              IdentityStore idmStore = identityStoreService.getIdmStore();
              final Property statusProperty = new Property("status", Arrays.asList("active"));
              final PropertySet propertySet = new PropertySet();
              propertySet.put(statusProperty);
              idmStore.getUserManager().createUser("userid", new char[0], propertySet);
    but I am getting this error
    Caused by: oracle.security.idm.IMException: Mandatory attribute missing :status
         at oracle.security.idm.providers.stdldap.util.LDAPRealm.createUser(LDAPRealm.java:139)
    even though I am clearly adding the attribute as mentioned above, am I missing any thing?
    Thanks for your help :)
    Full stack trace:
    oracle.security.idm.OperationFailureException: oracle.security.idm.IMException: Mandatory attribute missing : status
         at oracle.security.idm.providers.stdldap.util.LDAPRealm.throwException(LDAPRealm.java:785)
         at oracle.security.idm.providers.stdldap.util.LDAPRealm.createUser(LDAPRealm.java:153)
         at oracle.security.idm.providers.stdldap.LDUserManager.createUser(LDUserManager.java:170)
         at oracle.security.idm.providers.stdldap.LDUserManager.createUser(LDUserManager.java:121)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:173)
         at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89)
         at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:61)
         at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
         at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
         at java.util.concurrent.FutureTask.run(FutureTask.java:138)
         at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
         at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)
         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
         at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:118)
         at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:208)
         at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
         at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:205)
         at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:113)
         at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:184)
         at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:107)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
         at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:163)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
    Caused by: oracle.security.idm.IMException: Mandatory attribute missing :status
         at oracle.security.idm.providers.stdldap.util.LDAPRealm.createUser(LDAPRealm.java:139)
         ... 52 more
    Edited by: 940837 on Jun 14, 2012 5:00 PM

    URGENT** How to change  OIM user password from outside OIM

  • How to develop connector using identity connector framework in OIM 11g

    How to develop Ldap connector using identity connector framework in OIM 11g. A sample would be helpful (specifically LDAP). In some thread it is written to download org.identityconnectors.ldap-1.0.5119.jar file but none of the existing links works. Please let me know if anyone has this jar file.

    Thanks. I started developing connector using the ICF. When I depoyed my connector and tried to invoke it from a stand-alone client I encounterd the following error :
    Exception in thread "main" java.lang.NullPointerException
         at org.identityconnectors.framework.impl.api.local.ConnectorBundleManifestParser.getAttributes(ConnectorBundleManifestParser.java:55)
         at org.identityconnectors.framework.impl.api.local.ConnectorBundleManifestParser.<init>(ConnectorBundleManifestParser.java:50)
         at org.identityconnectors.framework.impl.api.local.LocalConnectorInfoManagerImpl.processURL(LocalConnectorInfoManagerImpl.java:193)
         at org.identityconnectors.framework.impl.api.local.LocalConnectorInfoManagerImpl.expandBundles(LocalConnectorInfoManagerImpl.java:91)
         at org.identityconnectors.framework.impl.api.local.LocalConnectorInfoManagerImpl.<init>(LocalConnectorInfoManagerImpl.java:72)
         at org.identityconnectors.framework.impl.api.ConnectorInfoManagerFactoryImpl.getLocalManager(ConnectorInfoManagerFactoryImpl.java:81)
         at org.identityconnectors.framework.impl.api.ConnectorInfoManagerFactoryImpl.getLocalManager(ConnectorInfoManagerFactoryImpl.java:66)
         at org.identityconnectors.ent.Main.main(Main.java:35)
    Any input on the same would be helpful.

  • Connect to LDAP use JNDI SSL

    Hi all:
    I want to connect to a LDAP use SSL, my code is like following.
         Hashtable env = new Hashtable();
                   String ADuid = "user";
                   String ADpwd = "pwd";
                   env.put(Context.INITIAL_CONTEXT_FACTORY,
                        "com.sun.jndi.ldap.LdapCtxFactory");
                   env.put(Context.SECURITY_AUTHENTICATION,"simple");
                   env.put(Context.SECURITY_PRINCIPAL,ADuid);
                   env.put(Context.SECURITY_CREDENTIALS,ADpwd);
                   env.put(Context.SECURITY_PROTOCOL,"ssl");
                   env.put(Context.PROVIDER_URL, "ldaps://server address:636");
                   try {
                        System.setProperty("javax.net.ssl.trustStore","truststore");
                        System.setProperty("javax.net.ssl.trustStorePassword", 123456");
                        // Create the initial directory context
                        DirContext ctx = new InitialDirContext(env);
                   }catch(Exception ex){
                        wdComponentAPI.getComponent().getMessageManager().reportException(store + ex.toString(),false);
    These code is tested sucessful on java application. But can't work on webdynpro program, it reports an Exception "javax.naming.CommunicationException: simple bind failed Root exception is javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found] "
    I've tryed to put the truststore on different DIR, but still not work. Does the method System.setProperty available on Web server? How to implement SSL certification?

    Hi Wayne Lou,
    I have same issue in connecting LDAP over SSL port 636 in Web Dynpro JAVA code.
    could you please share your solution code or guide me to solve my issue.
    Regards,
    Lakshmi Narayana Kodavati,

  • JPDA 1.5 Sun Connectors

    Hello,
    I'm trying to use the connectors described in http://java.sun.com/j2se/1.5.0/docs/guide/jpda/conninv.html
    Namly I'd like to try these connectors:
    SA Core Attaching Connector: sun.jvm.hotspot.jdi.SACoreAttachingConnector
    SA PID Attaching Connector: sun.jvm.hotspot.jdi.SAPIDAttachingConnector
    SA Debug Server Attaching Connector: sun.jvm.hotspot.jdi.SADebugServerAttachingConnector
    But don't see them returned as available connectors. Do I need a supplemental library or anything else? I'm using SunOS 5.9 with the jre and jdk posted as of 9/13/2005.
    Thanks

    Everything is in jdk5.0. You can check which JDI Connectors are available by doing this:
    jdb -listconnectorsYou should see 3 Connectors name sun.jvm.hotspot..jdi.SA<something>. To test that you can use them just start an application and get its pid. Then try:
    jdb -connect sun.jvm.hotspot.jdi.SAPIDAttachingConnector:pid=<pid>Hope this helps.

Maybe you are looking for