Levaraging LDAP in BO XI 3.1

Hello Experts,
I have a requirement from my cllient, to levarage BOE LDAP with existing LDAP of SAP PORTAL..could any one let  me know the process of levaraging LDAP in BO.
Complete issue details,
If SAP Enterprise portal LDAP is isuuing tickets for boe... than what settings do i  need to make in BOE, also we need sso to be enabled?
what SNC settings to need to change in CMC for BOE to support existing LDAP of EP?
Thanks
Prashanth

Hi ingo,
Thanks for your helpfull replies. I just configured BOE LDAP settings, its working fine but, the users in ldap group which i mapped are not able to login with there user id,s, But, they are able to login with their full dn,cn names. what could be the issue?
secondly, can we give administrative rights to ldap groups which we mapped. I tried to levarage the group rights by giving adminstrative privilage. But, tha ldap users cannot see all the options as administrators , even when we checked the group it says that it has admmin rights? it is the same issue with SAP roles which we imported.

Similar Messages

  • Jabber Windows - no phone control with LDAP Custom filter

    I am unable to control the desktop phone from the Jabber 9.1 Windows client when the CallManager LDAP Directory uses a Custom Filter.
    Has anyone else experienced this?
    If I set the LDAP Custom Filter to <none> and save, then Desktop Phone control works great.
    If I set it to use my custom filter, then trying to enable Desktop control just gives me the spinning circle, then times out to the Red X symbol.
    I do not need to resync the LDAP Directory to get the error, just enable/disable the custom filter and save.
    In both cases calling from the Computer works great.
    This is an On-Prem deployment with full MS-AD LDAP integration.
    Versions are:
    Jabber - 9.1.0 build 12296
    CUPC - 8.6.4.11900-1
    CUCM - 8.6.2.22900-9
    I upgraded to CUCM 8.6.2 SU2 last night hoping that would fix the problem, but no luck.
    The LDAP filter is one I have used in numerous other clusters with no CTI issues.
    It allows me to sync to the root directory, but only import active user accounts with an entry in the ipPhone AD attribute:
    (&((objectclass=user)(ipPhone=*))(!(objectclass=Computer))(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))
    Thanks, Randy

    Hi Randy,
    Have you specified this base filter in jabber-config.xml file? As per Admin Guide:
    "In some cases, base filters do not return query results if you specify a closing bracket in your Cisco Jabber for Windows  configuration file. For example, this issue might occur if you specify  the following base filter: (&(memberOf=CN=UCFilterGroup,OU=DN))
    To resolve this issue, remove the closing bracket; for example, (&(memberOf=CN=UCFilterGroup,OU=DN)"
    Thanks,
    Maqsood

  • How get all sAMAccountName from LDAP?

    Good day ... i'm find this ...
    declare
    -- Adjust as necessary.
    l_ldap_host VARCHAR2(256) := &&;
    l_ldap_port VARCHAR2(256) := &&;
    l_ldap_user VARCHAR2(256) := &&;
    l_ldap_passwd VARCHAR2(256) := &&;
    l_ldap_base VARCHAR2(256) := 'dc=&&,dc=&&,dc=&&';
    l_filter varchar2(100) := '(&(sAMAccountName=*))';
    l_retval pls_integer;
    l_session dbms_ldap.session;
    l_attrs dbms_ldap.string_collection;
    l_message dbms_ldap.message;
    l_entry dbms_ldap.message;
    l_attr_name varchar2(256);
    l_ber_element dbms_ldap.ber_element;
    l_vals dbms_ldap.string_collection;
    l_raw dbms_ldap.binval_collection;
    l_result varchar2(100);
    begin
    -- Choose to raise exceptions.
    dbms_ldap.use_exception := true;
    dbms_ldap.utf8_conversion := false;
    -- Connect to the LDAP server.
    l_session := dbms_ldap.init(hostname => l_ldap_host, portnum => l_ldap_port);
    l_retval := dbms_ldap.simple_bind_s(ld => l_session, dn => l_ldap_user, passwd => l_ldap_passwd);
    -- Get all attributes
    l_attrs(1) := 'sAMAccountName'; -- retrieve all attributes
    l_retval := dbms_ldap.search_s(ld => l_session
    ,base => l_ldap_base
    ,scope => dbms_ldap.scope_subtree
    ,filter => l_filter
    ,attrs => l_attrs
    ,attronly => 0
    ,res => l_message);
    if dbms_ldap.count_entries(ld => l_session, msg => l_message) > 0
    then
    -- Get all the entries returned by our search.
    l_entry := dbms_ldap.first_entry(ld => l_session, msg => l_message);
    <<entry_loop>>
    while l_entry is not null
    loop
    -- Get all the attributes for this entry.
    dbms_output.put_line('---------------------------------------');
    l_attr_name := dbms_ldap.first_attribute(ld => l_session
    ,ldapentry => l_entry
    ,ber_elem => l_ber_element);
    <<attributes_loop>>
    while l_attr_name is not null
    loop
    -- Get all the values for this attribute.
    l_vals := dbms_ldap.get_values(ld => l_session, ldapentry => l_entry, attr => l_attr_name);
    <<values_loop>>
    for i in l_vals.first .. l_vals.last
    loop
    dbms_output.put_line('ATTIBUTE_NAME: ' || l_attr_name || ' = ' || substr(l_vals(i), 1, 200));
    end loop values_loop;
    l_attr_name := dbms_ldap.next_attribute(ld => l_session
    ,ldapentry => l_entry
    ,ber_elem => l_ber_element);
    end loop attibutes_loop;
    l_entry := dbms_ldap.next_entry(ld => l_session, msg => l_entry);
    end loop entry_loop;
    end if;
    -- Disconnect from the LDAP server.
    l_retval := dbms_ldap.unbind_s(ld => l_session);
    dbms_output.put_line('L_RETVAL: ' || l_retval);
    end;
    If i use filter '(&(sAMAccountName=*))' (me need get all 'sAMAccountName')
    ERROR at line 1:
    ORA-31202: DBMS_LDAP: LDAP client/server error: Sizelimit exceeded
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
    ORA-06512: at "SYS.DBMS_LDAP", line 1457
    ORA-06512: at "SYS.DBMS_LDAP", line 234
    ORA-06512: at line 28
    How fix it ?
    Thanks all.
    p.s. I'm beginner Developer Oracle 10g

    Probably some workaround needed. Hopefully this one works: http://www.freelists.org/archives/oracle-l/04-2006/msg01100.html

  • Questions on LDAP w.r.t XML Publisher 5.6.2

    Hi all,
    I have 2 questions on LDAP integration w.r.t XML P 5.6.2
    1) Is OID the only supported LDAP repository? I tried to set up a Iplanet directory server against XMLP, but could not. Did I miss something, or it is not supported?
    Other than OID, any other LDAP supported?
    2) Suppose, my use-case is: I want to show some values from the database, and also in the same report, print out the user attributes from the LDAP (like email id of the user, for example) who fired the report, then is this possible?
    Thanks,
    Ambarish,

    Ok. Question 1 - I have answered myself. I could not set up SunONE Directory server against XMLP :-(
    But I could set up against openldap. :-)
    I plan to contribute to the blog in 2/3 days time on how this can be done.
    But I still need some help on the question 2. How can I create a report which has all the data from both the backend database, and well as from the LDAP repository. For example, report like:
    Report Fired By:
    EMAIL id:
    Mobile:
    (data1, data2...)
    where data1, data2 comes from the database, and email id, mobile from the LDAP.

  • LDAP supporting multiple DNS domains

    I have an environment with multiple DNS domains, and am configuring a Directory server (DS 6.3.1) to centralize various OS configuration maps including user authentication. None of the DNS domains have unique data, so I'd like to do something like storing all the real data in one suffix, then somehow have all clients look to that primary suffix. I am aware that the Solaris Native LDAP client wants to bind to a nisDomainObject that matches its DNS domain. I'm just having a hard time believing that I really need to manage all those individual suffixes when they don't have unique data requirements.
    Take as an example the following domains to be supported: foo.example.com, bar.example.com, dev.example.com, qa.example.com, prd.example.com (no hosts are actually in "example.com", they are all in subdomains). Again, all share common configuration data, same user IDs, etc - no unique maps are required.
    I created a suffix, "dc=example, dc=com", set it up with idsconfig. All is well there.
    [A] My first thought is to bind all Solaris clients, regardless of their DNS domain, to the baseDN of "dc=example, dc=com" in order to avoid having a separate suffix for each DNS domain. I tried to do this using "-a defaultSearchPath=dc=example,dc=com" with ldapclient init, but it failed with an error indicating it wants to see the nisDomainObject of its real DNS domain.
    The second though I had, which I don't believe is possible, is to find some sort of a LDAP equivalent of a symbolic link so that I could actually have an object for each DNS domain, but it would simply point back to "dc=example,dc=com". I can't find anything in the documentation which suggests this is possible, but I'd love to be wrong!
    [C] Perhaps this could be somehow done with a rats nest of SSDs, but that really seems unwieldy, right? I plan on using a fair amount of the available objects, so it would be many SSDs per suffix. Yuck.
    Can anyone comment on my above thoughts, or provide how they would go about supporting multiple DNS domains that have common configuration data?
    Thank you,
    Chris

    Ok, I answered my own question. Turns out it's pretty easy. Just use the "-a domainName=example.com" option with `ldapclient` then make sure that the FQDN of the LDAP server is available (or use its IP address). My problem was that the ldapclient overwriting nsswotch.conf was clobbering the SSL session because I used the FQDN which couldn't resolve.
    This leaves an interesting condition of having the output of "domainname" not match the DNS domain. I'm testing now to see if this causes any unexpected issues with our environmnet, but I suspect it's not a problem.

  • Untrusted server cert chain - while connecting with ldap

    Hi All,
    I am getting the following error while running a standalone java program in windows 2000+jdk1.3 environment to connect with LDAP.
    javax.naming.CommunicationException: hostname:636 [Root exception is ja
    vax.net.ssl.SSLException: untrusted server cert chain]
    javax.naming.CommunicationException: hostname:636. Root exception is j
    avax.net.ssl.SSLException: untrusted server cert chain
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.a(DashoA12275)
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(DashoA12
    275)
    at com.sun.net.ssl.internal.ssl.Handshaker.process_record(DashoA12275)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
    at com.sun.net.ssl.internal.ssl.AppOutputStream.write(DashoA12275)
    at java.io.OutputStream.write(Unknown Source)
    at com.sun.jndi.ldap.Connection.<init>(Unknown Source)
    at com.sun.jndi.ldap.LdapClient.<init>(Unknown Source)
    at com.sun.jndi.ldap.LdapCtx.connect(Unknown Source)
    at com.sun.jndi.ldap.LdapCtx.<init>(Unknown Source)
    at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(Unknown Source)
    at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
    at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
    at javax.naming.InitialContext.init(Unknown Source)
    at javax.naming.InitialContext.<init>(Unknown Source)
    at javax.naming.directory.InitialDirContext.<init>(Unknown Source)
    at Test2.getProxyDirContext(Test2.java:66)
    at Test2.main(Test2.java:40)
    Any help would be appreciated
    Thanks in Advance
    Somu

    This got resolved when in the code the following
    System.setProperty("javax.net.ssl.tmrustStore", CertFileName);
    where cert file name is the filename with complete path.the file is a CA certificate of the LDAP server
    in X509 format

  • UCCX 7.0.1SR5 to 8.0 upgrade while also adding LDAP integration for CUCM - what happens to agents and Historical Reporting data?

    Current State:
    •    I have a customer running CUCM 6.1 and UCCX 7.01SR5.  Currently their CUCM is *NOT* LDAP integrated and using local accounts only.  UCCX is AXL integrated to CUCM as usual and is pulling users from CUCM and using CUCM for login validation for CAD.
    •    The local user accounts in CUCM currently match the naming format in active directory (John Smith in CUCM is jsmith and John Smith is jsmith in AD)
    Goal:
    •    Upgrade software versions and migrate to new hardware for UCCX
    •    LDAP integrate the CUCM users
    Desired Future State and Proposed Upgrade Method
    Using the UCCX Pre Upgrade Tool (PUT), backup the current UCCX 7.01 server. 
    Then during a weekend maintenance window……
    •    Upgrade the CUCM cluster from 6.1 to 8.0 in 2 step process
    •    Integrate the CUCM cluster to corporate active directory (LDAP) - sync the same users that were present before, associate with physical phones, select the same ACD/UCCX line under the users settings as before
    •    Then build UCCX 8.0 server on new hardware and stop at the initial setup stage
    •    Restore the data from the UCCX PUT tool
    •    Continue setup per documentation
    At this point does UCCX see these agents as the same as they were before?
    Is the historical reporting data the same with regards to agent John Smith (local CUCM user) from last week and agent John Smith (LDAP imported CUCM user) from this week ?
    I have the feeling that UCCX will see the agents as different almost as if there is a unique identifier that's used in addition to the simple user name.
    We can simplify this question along these lines
    Starting at the beginning with CUCM 6.1 (local users) and UCCX 7.01.  Let's say the customer decided to LDAP integrate the CUCM users and not upgrade any software. 
    If I follow the same steps with re-associating the users to devices and selecting the ACD/UCCX extension, what happens? 
    I would guess that UCCX would see all the users it knew about get deleted (making them inactive agents) and the see a whole group of new agents get created.
    What would historical reporting show in this case?  A set of old agents and a set of new agents treated differently?
    Has anyone run into this before?
    Is my goal possible while keeping the agent configuration and HR data as it was before?

    I was doing some more research looking at the DB schema for UCCX 8.
    Looking at the Resource table in UCCX, it looks like there is primary key that represents each user.
    My question, is this key replicated from CUCM or created locally when the user is imported into UCCX?
    How does UCCX determine if user account jsmith in CUCM, when it’s a local account, is different than user account jsmith in CUCM that is LDAP imported?
    Would it be possible (with TAC's help most likely) to edit this field back to the previous values so that AQM and historical reporting would think the user accounts are the same?
    Database table name: Resource
    The Unified CCX system creates a new record in the Resource table when the Unified CCX system retrieves agent information from the Unified CM.
    A Resource record contains information about the resource (agent). One such record exists for each active and inactive resource. When a resource is deleted, the old record is flagged as inactive; when a resource is updated, a new record is created and the old one is flagged as inactive.

  • How can we update data in LDAP server using PL/SQL.

    Hi,
    How can we update data in LDAP server using PL/SQL program.
    Is there any sample code for refrence.
    Thanks,
    Tarun

    Hi Justin,
    Thanks for your help. You got my correct requirements.
    Tim's example returning all the attributes of current user which is admin user. Please correct me if I am wrong.
    I have the following information:
    the admin user and password,server info , port and ldap_base for admin.
    I have uid and password for regular user, I am trying find the ldap_base for regular user, which may be different from adminuser.
    Please help me.
    Thanks,
    Edited by: james. on Jan 12, 2009 5:39 PM

  • Active Directory LDAP integration; can not see the XMLP_ groups/roles

    We have configured XMLP 10.1.3.3 to use "LDAP" as the Security model. The LDAP server is Active Directory running under Windows Server 2003.
    It is working to a certain extent:
    Users can log on to the XML Publisher using login/password as defined in AD.
    -When logged in as administrator, groups (roles) are visible in Admin/Roles and Permissions and can have assigned folders and data sources.
    Problems/questions:
    The required roles ("XMLP_ADMIN, etc) can not be seen in Admin/Roles and Permissions. Is this as expected or is it an error?
    -When logging in as a user who is member of the group/role XMLP_ADMIN, I do not get any administrator privileges (I have not tested the other XMLP_* roles defined in AD yet). So all administration has to be done as the local superuser.
    Is there any way to monitor the login process to try and see what goes wrong?
    -Roald
    -Roald

    The problem has been solved, it was self inflicted, typo in the config file:
    <property name="LDAP_PROVIDER_USER_DN" value="Cn=Users;dc=company,dc=com"/>
    (semicolon instead of comma after Users).
    It is a little surprising that this typo lead to problems with group matching, though. It took some time before this part of the config got enough attention.
    -Roald

  • Issue after ldap syncronization enabled in oim 11.1.1.5.0 unable to create user in oim  console

    Hi Experts,
    I installed oim 11.1.1.5.0 and enabled ldap sync OID 11.1.1.6.0 and after completion of deployments i tried to create user from OIM admin console resulted in error.if i create roles it is working fine.I can see the same roles in OID.
    Error message:
    [2013-09-26T15:46:02.706+05:30] [oim_server1] [NOTIFICATION] [IAM-0080006] [oracle.iam.platform.kernel.impl] [tid: [ACTIVE].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: 4ebbc6d3d62f6b09:-4d9bdbc2:14130907d1b:-8000-0000000000005984,0] [APP: oim#11.1.1.3.0] Orchestration process moved to failed stage, and the corresponding error is - {0}[[
    oracle.iam.platform.kernel.EventFailedException: Failed to find obpasswordexpirydate in mandatory or optional attribute list.
      at oracle.iam.ldapsync.impl.eventhandlers.user.UserCreateLDAPHandler.execute(UserCreateLDAPHandler.java:98)
      at oracle.iam.platform.kernel.impl.OrchProcessData.runPreProcessEvents(OrchProcessData.java:898)
      at oracle.iam.platform.kernel.impl.OrchProcessData.runEvents(OrchProcessData.java:634)
      at oracle.iam.platform.kernel.impl.OrchProcessData.executeEvents(OrchProcessData.java:227)
      at oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.resumeProcess(OrchestrationEngineImpl.java:664)
      at oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.process(OrchestrationEngineImpl.java:435)
      at oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.orchestrate(OrchestrationEngineImpl.java:381)
      at oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.orchestrate(OrchestrationEngineImpl.java:334)
      at oracle.iam.identity.usermgmt.impl.UserManagerImpl.create(UserManagerImpl.java:653)
      at oracle.iam.identity.usermgmt.api.UserManagerEJB.createx(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:616)
      at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
      at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
      at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
      at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
      at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
      at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      at $Proxy329.createx(Unknown Source)
      at oracle.iam.identity.usermgmt.api.UserManager_nimav7_UserManagerRemoteImpl.__WL_invoke(Unknown Source)
      at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
      at oracle.iam.identity.usermgmt.api.UserManager_nimav7_UserManagerRemoteImpl.createx(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:616)
      at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:85)
      at $Proxy184.createx(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:616)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
      at $Proxy323.createx(Unknown Source)
      at oracle.iam.identity.usermgmt.api.UserManagerDelegate.create(Unknown Source)
      at oracle.iam.identitytaskflow.backing.taskflows.createuser.CreateUserView.saveUserOperation(CreateUserView.java:528)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:616)
      at com.sun.el.parser.AstValue.invoke(Unknown Source)
      at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
      at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)
      at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
      at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
      at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
      at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)
      at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
      at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
      at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
      at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)
      at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:902)
      at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:313)
      at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:186)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
      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.help.web.rich.OHWFilter.doFilter(Unknown Source)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
      at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
      at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.iam.platform.auth.web.PwdMgmtNavigationFilter.doFilter(PwdMgmtNavigationFilter.java:121)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.iam.platform.auth.web.OIMAuthContextFilter.doFilter(OIMAuthContextFilter.java:107)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175)
      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.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
      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:209)
      at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused by: oracle.iam.platform.entitymgr.ProviderException: Failed to find obpasswordexpirydate in mandatory or optional attribute list.
      at oracle.iam.platform.entitymgr.impl.EntityManagerImpl.createEntity(EntityManagerImpl.java:303)
      at oracle.iam.ldapsync.impl.eventhandlers.user.UserCreateLDAPPreProcessHandler.createUser(UserCreateLDAPPreProcessHandler.java:193)
      at oracle.iam.ldapsync.impl.eventhandlers.user.UserCreateLDAPHandler.execute(UserCreateLDAPHandler.java:84)
      ... 111 more
    Caused by: javax.naming.directory.SchemaViolationException: [LDAP: error code 65 - LDAP Error 65 : [LDAP: error code 65 - Failed to find obpasswordexpirydate in mandatory or optional attribute list.]]; remaining name 'uid=400011,ou=identity,ou=ubank,ou=users,ou=external,dc=national,dc=com,dc=au'
      at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3063)
      at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2978)
      at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2785)
      at com.sun.jndi.ldap.LdapCtx.c_createSubcontext(LdapCtx.java:801)
      at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_createSubcontext(ComponentDirContext.java:337)
      at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.createSubcontext(PartialCompositeDirContext.java:266)
      at javax.naming.directory.InitialDirContext.createSubcontext(InitialDirContext.java:200)
      at oracle.iam.platform.entitymgr.provider.ldap.LDAPUtil.createSubcontext(LDAPUtil.java:1045)
      at oracle.iam.platform.entitymgr.provider.ldap.LDAPDataProvider.create(LDAPDataProvider.java:487)
      at oracle.iam.platform.entitymgr.impl.EntityManagerImpl.createEntity(EntityManagerImpl.java:291)
      ... 113 more
    [2013-09-26T15:46:02.842+05:30] [oim_server1] [NOTIFICATION] [IAM-3050144] [oracle.iam.identity.usermgmt.impl.handlers.create] [tid: [ACTIVE].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: 4ebbc6d3d62f6b09:-4d9bdbc2:14130907d1b:-8000-0000000000005984,0] [APP: oim#11.1.1.3.0] Compensate method called in pre-process handler of user operation CREATE with process Id 87 and event Id 494
    [2013-09-26T15:46:02.862+05:30] [oim_server1] [NOTIFICATION] [IAM-3010089] [oracle.iam.ldapsync.impl.eventhandlers.user] [tid: [ACTIVE].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: 4ebbc6d3d62f6b09:-4d9bdbc2:14130907d1b:-8000-0000000000005984,0] [APP: oim#11.1.1.3.0] Compensate method called in pre-process handler of user operation CREATE with process Id 87 and event Id 485
    [2013-09-26T15:46:02.902+05:30] [oim_server1] [NOTIFICATION] [IAM-0080046] [oracle.iam.platform.kernel.impl] [tid: [ACTIVE].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: 4ebbc6d3d62f6b09:-4d9bdbc2:14130907d1b:-8000-0000000000005984,0] [APP: oim#11.1.1.3.0] Completed orchestration with action result - null
    [2013-09-26T15:46:02.911+05:30] [oim_server1] [NOTIFICATION] [IAM-3050031] [oracle.iam.identity.usermgmt.impl] [tid: [ACTIVE].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: 4ebbc6d3d62f6b09:-4d9bdbc2:14130907d1b:-8000-0000000000005984,0] [APP: oim#11.1.1.3.0] The result of the CREATE operation is null.
    [2013-09-26T15:46:02.915+05:30] [oim_server1] [ERROR] [IAM-3050030] [oracle.iam.identity.usermgmt.impl] [tid: [ACTIVE].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: 4ebbc6d3d62f6b09:-4d9bdbc2:14130907d1b:-8000-0000000000005984,0] [APP: oim#11.1.1.3.0] An exception occurred while performing the operation.[[
    oracle.iam.platform.kernel.EventFailedException: Failed to find obpasswordexpirydate in mandatory or optional attribute list.
      at oracle.iam.platform.kernel.impl.OrchProcessData.runEvents(OrchProcessData.java:817)
      at oracle.iam.platform.kernel.impl.OrchProcessData.executeEvents(OrchProcessData.java:227)
      at oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.resumeProcess(OrchestrationEngineImpl.java:664)
      at oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.process(OrchestrationEngineImpl.java:435)
      at oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.orchestrate(OrchestrationEngineImpl.java:381)
      at oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.orchestrate(OrchestrationEngineImpl.java:334)
      at oracle.iam.identity.usermgmt.impl.UserManagerImpl.create(UserManagerImpl.java:653)
      at oracle.iam.identity.usermgmt.api.UserManagerEJB.createx(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:616)
      at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
      at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
      at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
      at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
      at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
      at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      at $Proxy329.createx(Unknown Source)
      at oracle.iam.identity.usermgmt.api.UserManager_nimav7_UserManagerRemoteImpl.__WL_invoke(Unknown Source)
      at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
      at oracle.iam.identity.usermgmt.api.UserManager_nimav7_UserManagerRemoteImpl.createx(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:616)
      at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:85)
      at $Proxy184.createx(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:616)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
      at $Proxy323.createx(Unknown Source)
      at oracle.iam.identity.usermgmt.api.UserManagerDelegate.create(Unknown Source)
      at oracle.iam.identitytaskflow.backing.taskflows.createuser.CreateUserView.saveUserOperation(CreateUserView.java:528)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:616)
      at com.sun.el.parser.AstValue.invoke(Unknown Source)
      at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
      at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)
      at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
      at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
      at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
      at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)
      at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
      at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
      at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
      at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)
      at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:902)
      at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:313)
      at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:186)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
      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.help.web.rich.OHWFilter.doFilter(Unknown Source)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
      at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
      at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.iam.platform.auth.web.PwdMgmtNavigationFilter.doFilter(PwdMgmtNavigationFilter.java:121)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.iam.platform.auth.web.OIMAuthContextFilter.doFilter(OIMAuthContextFilter.java:107)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175)
      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.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
      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:209)
      at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    [2013-09-26T15:46:02.916+05:30] [oim_server1] [ERROR] [] [oracle.iam.identitytaskflow.logging] [tid: [ACTIVE].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: 4ebbc6d3d62f6b09:-4d9bdbc2:14130907d1b:-8000-0000000000005984,0] [APP: oim#11.1.1.3.0] IAM-3060023
    [2013-09-26T15:46:04.026+05:30] [oim_server1] [NOTIFICATION] [IAM-0060016] [oracle.iam.platform.auth.impl] [tid: [ACTIVE].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: 4ebbc6d3d62f6b09:-4d9bdbc2:14130907d1b:-8000-0000000000005988,0] [APP: oim#11.1.1.3.0] The IP address from which browser is triggered is 148.87.19.45
    Please suggest me on this.
    Best regards,
    Srikanth Vadlamudi.

    check this link:
    Updating Existing LDAP Users with Required Object Classes
    http://docs.oracle.com/cd/E29597_01/fusionapps.1111/e21032/oim.htm

  • Improper shutdown detected - LDAP backup

    Periodically, when I try and connect to a share on the server, the only share I can see is my own user folder and nothing else, when I fact I have a drive and several folder setup to be accessed. But it seems since the 10.6.3 update that something is killing part of Open Directory and the only fix is to reboot the server. Here is what the Directory Services Error Log shows when I notice that I can't do what I could do an hour ago.
    2010-04-14 13:26:32 PDT - T[0x00007FFF7033DBE0] - Improper shutdown detected
    When I go to the Configuration Log for the same time frame, it appears that a backup script is running but perhaps doesn't shut down the service properly (hence the error) or can't restart it, or something. I have a crash report in the Console for these events. Here is what that log shows for that event (not the crash report, too long and ugly).
    2010-04-14 13:25:38 -0700 - slapconfig -backupdb
    2010-04-14 13:25:38 -0700 - command: /usr/sbin/sso_util info -r /LDAPv3/127.0.0.1 -p
    2010-04-14 13:25:38 -0700 - 1 Backing up LDAP database
    2010-04-14 13:25:38 -0700 - Stopping LDAP server (slapd)
    2010-04-14 13:25:38 -0700 - command: /usr/bin/db_recover -h /var/db/openldap/openldap-data
    2010-04-14 13:25:38 -0700 - popen: /usr/sbin/slapcat -l /tmp/slapconfigbackupstage35440zhKUEN/backup.ldif, "r"
    2010-04-14 13:25:41 -0700 - Starting LDAP server (slapd)
    2010-04-14 13:25:42 -0700 - popen: /bin/cp /var/db/openldap/openldap-data/DB_CONFIG /tmp/slapconfigbackup_stage35440zhKUEN/DBCONFIG, "r"
    2010-04-14 13:25:42 -0700 - popen: /bin/cp -r /etc/openldap /tmp/slapconfigbackupstage35440zhKUEN/, "r"
    2010-04-14 13:25:42 -0700 - 2 Backing up password server database
    2010-04-14 13:25:42 -0700 - popen: /usr/sbin/mkpassdb -backupdb /tmp/slapconfigbackup_stage35440zhKUEN/passwordserverbackup/ > /dev/null, "r"
    2010-04-14 13:25:42 -0700 - popen: /bin/cp -r /Library/Preferences/com.apple.passwordserver.plist /tmp/slapconfigbackupstage35440zhKUEN/, "r"
    2010-04-14 13:25:42 -0700 - popen: /usr/sbin/mkpassdb -list > /tmp/slapconfigbackupstage35440zhKUEN/sasl-plugin-list, "r"
    2010-04-14 13:25:42 -0700 - popen: /bin/hostname > /tmp/slapconfigbackupstage35440zhKUEN/hostname, "r"
    2010-04-14 13:25:42 -0700 - 3 Backing up Kerberos database
    2010-04-14 13:25:42 -0700 - popen: /usr/sbin/kdb5_util -r EXCHANGECHURCH.COM dump > /tmp/slapconfigbackupstage35440zhKUEN/kdb5dump.EXCHANGECHURCH.COM.bak, "r"
    2010-04-14 13:25:42 -0700 - popen: /usr/sbin/sso_util info -pr /LDAPv3/127.0.0.1 > /tmp/slapconfigbackup_stage35440zhKUEN/localodkrb5realm, "r"
    2010-04-14 13:25:55 -0700 - Error: Command failed with exit code 512: /usr/sbin/sso_util info -pr /LDAPv3/127.0.0.1 > /tmp/slapconfigbackup_stage35440zhKUEN/localodkrb5realm
    2010-04-14 13:25:55 -0700 - popen: /usr/bin/tar czpf /tmp/slapconfigbackupstage35440zhKUEN/krb5backup.tar.gz /var/db/krb5kdc/kdc.conf /var/db/krb5kdc/kadm5.acl /var/db/krb5kdc/kadm5.keytab /var/db/krb5kdc/.k5.* /Library/Preferences/edu.mit.Kerberos /etc/krb5.keytab , "r"
    2010-04-14 13:25:55 -0700 - popen: /bin/cp /var/db/dslocal/nodes/Default/config/KerberosKDC.plist /tmp/slapconfigbackupstage35440zhKUEN/KerberosKDC.plist, "r"
    2010-04-14 13:25:55 -0700 - popen: /bin/cp /System/Library/LaunchDaemons/com.apple.PasswordService.plist /tmp/slapconfigbackupstage35440zhKUEN/LaunchDaemons/, "r"
    2010-04-14 13:25:55 -0700 - 4 Backing up configuration files
    2010-04-14 13:25:55 -0700 - popen: /bin/cp /System/Library/LaunchDaemons/org.openldap.slapd.plist /tmp/slapconfigbackupstage35440zhKUEN/LaunchDaemons/, "r"
    2010-04-14 13:25:55 -0700 - popen: /bin/cp -r /Library/Preferences/DirectoryService /tmp/slapconfigbackupstage35440zhKUEN/, "r"
    2010-04-14 13:25:55 -0700 - popen: /bin/cp /Library/Preferences/com.apple.openldap.plist /tmp/slapconfigbackupstage35440zhKUEN/, "r"
    2010-04-14 13:25:55 -0700 - popen: /bin/cp /Library/Preferences/SystemConfiguration/com.apple.smb.server.plist /tmp/slapconfigbackupstage35440zhKUEN/, "r"
    2010-04-14 13:25:55 -0700 - popen: /bin/cp /Library/Preferences/com.apple.samba.plist /tmp/slapconfigbackupstage35440zhKUEN/, "r"
    2010-04-14 13:25:55 -0700 - Error: Command failed with exit code 256: /bin/cp /Library/Preferences/com.apple.samba.plist /tmp/slapconfigbackupstage35440zhKUEN/
    2010-04-14 13:25:55 -0700 - popen: /usr/bin/sw_vers > /tmp/slapconfigbackupstage35440zhKUEN/version.txt, "r"
    2010-04-14 13:25:55 -0700 - popen: /bin/cp -r /var/db/dslocal /tmp/slapconfigbackupstage35440zhKUEN/, "r"
    2010-04-14 13:25:55 -0700 - 5 Backing up local directory database
    2010-04-14 13:25:55 -0700 - popen: /usr/bin/tar czpf /tmp/slapconfigbackupstage35440zhKUEN/shadowbackup.tar.gz /var/db/shadow, "r"
    2010-04-14 13:25:56 -0700 - popen: /usr/bin/gnutar cpf /tmp/slapconfigbackupstage35440zhKUEN/sambabackup.tar /var/db/samba /etc/smb.conf, "r"
    2010-04-14 13:25:56 -0700 - command: /usr/bin/gnutar --delete -f /tmp/slapconfigbackupstage35440zhKUEN/sambabackup.tar var/db/samba/secrets.tdb
    2010-04-14 13:25:56 -0700 - command: /usr/bin/gzip -f4 /tmp/slapconfigbackupstage35440zhKUEN/sambabackup.tar
    2010-04-14 13:25:56 -0700 - Backed Up Keychain
    2010-04-14 13:25:56 -0700 - 6 Creating archive
    2010-04-14 13:25:56 -0700 - command: /usr/bin/hdiutil create -ov -plist -puppetstrings -layout UNIVERSAL CD -fs HFS+ -volname ldap_bk -srcfolder /tmp/slapconfigbackupstage35440zhKUEN -format SPARSE /private/tmp/ServerBackup_OpenDirectoryMaster
    2010-04-14 13:26:03 -0700 - Removed directory at path /tmp/slapconfigbackupstage35440zhKUEN.
    2010-04-14 13:26:03 -0700 - Removed file at path /var/run/slapconfig.lock.
    2010-04-14 13:26:11 -0700 - slapconfig -backupdb
    2010-04-14 13:26:11 -0700 - command: /usr/sbin/sso_util info -r /LDAPv3/127.0.0.1 -p
    2010-04-14 13:26:11 -0700 - 1 Backing up LDAP database
    2010-04-14 13:26:11 -0700 - Stopping LDAP server (slapd)
    2010-04-14 13:26:11 -0700 - command: /usr/bin/db_recover -h /var/db/openldap/openldap-data
    2010-04-14 13:26:12 -0700 - popen: /usr/sbin/slapcat -l /tmp/slapconfigbackupstage356181QINwc/backup.ldif, "r"
    2010-04-14 13:26:14 -0700 - Starting LDAP server (slapd)
    2010-04-14 13:26:16 -0700 - popen: /bin/cp /var/db/openldap/openldap-data/DB_CONFIG /tmp/slapconfigbackup_stage356181QINwc/DBCONFIG, "r"
    2010-04-14 13:26:16 -0700 - popen: /bin/cp -r /etc/openldap /tmp/slapconfigbackupstage356181QINwc/, "r"
    2010-04-14 13:26:17 -0700 - 2 Backing up password server database
    2010-04-14 13:26:17 -0700 - popen: /usr/sbin/mkpassdb -backupdb /tmp/slapconfigbackup_stage356181QINwc/passwordserverbackup/ > /dev/null, "r"
    2010-04-14 13:26:17 -0700 - popen: /bin/cp -r /Library/Preferences/com.apple.passwordserver.plist /tmp/slapconfigbackupstage356181QINwc/, "r"
    2010-04-14 13:26:17 -0700 - popen: /usr/sbin/mkpassdb -list > /tmp/slapconfigbackupstage356181QINwc/sasl-plugin-list, "r"
    2010-04-14 13:26:17 -0700 - popen: /bin/hostname > /tmp/slapconfigbackupstage356181QINwc/hostname, "r"
    2010-04-14 13:26:17 -0700 - 3 Backing up Kerberos database
    2010-04-14 13:26:17 -0700 - popen: /usr/sbin/kdb5_util -r EXCHANGECHURCH.COM dump > /tmp/slapconfigbackupstage356181QINwc/kdb5dump.EXCHANGECHURCH.COM.bak, "r"
    2010-04-14 13:26:17 -0700 - popen: /usr/sbin/sso_util info -pr /LDAPv3/127.0.0.1 > /tmp/slapconfigbackup_stage356181QINwc/localodkrb5realm, "r"
    2010-04-14 13:26:28 -0700 - Error: Command failed with exit code 512: /usr/sbin/sso_util info -pr /LDAPv3/127.0.0.1 > /tmp/slapconfigbackup_stage356181QINwc/localodkrb5realm
    2010-04-14 13:26:28 -0700 - popen: /usr/bin/tar czpf /tmp/slapconfigbackupstage356181QINwc/krb5backup.tar.gz /var/db/krb5kdc/kdc.conf /var/db/krb5kdc/kadm5.acl /var/db/krb5kdc/kadm5.keytab /var/db/krb5kdc/.k5.* /Library/Preferences/edu.mit.Kerberos /etc/krb5.keytab , "r"
    2010-04-14 13:26:28 -0700 - popen: /bin/cp /var/db/dslocal/nodes/Default/config/KerberosKDC.plist /tmp/slapconfigbackupstage356181QINwc/KerberosKDC.plist, "r"
    2010-04-14 13:26:28 -0700 - popen: /bin/cp /System/Library/LaunchDaemons/com.apple.PasswordService.plist /tmp/slapconfigbackupstage356181QINwc/LaunchDaemons/, "r"
    2010-04-14 13:26:28 -0700 - 4 Backing up configuration files
    2010-04-14 13:26:28 -0700 - popen: /bin/cp /System/Library/LaunchDaemons/org.openldap.slapd.plist /tmp/slapconfigbackupstage356181QINwc/LaunchDaemons/, "r"
    2010-04-14 13:26:28 -0700 - popen: /bin/cp -r /Library/Preferences/DirectoryService /tmp/slapconfigbackupstage356181QINwc/, "r"
    2010-04-14 13:26:28 -0700 - popen: /bin/cp /Library/Preferences/com.apple.openldap.plist /tmp/slapconfigbackupstage356181QINwc/, "r"
    2010-04-14 13:26:28 -0700 - popen: /bin/cp /Library/Preferences/SystemConfiguration/com.apple.smb.server.plist /tmp/slapconfigbackupstage356181QINwc/, "r"
    2010-04-14 13:26:28 -0700 - popen: /bin/cp /Library/Preferences/com.apple.samba.plist /tmp/slapconfigbackupstage356181QINwc/, "r"
    2010-04-14 13:26:28 -0700 - Error: Command failed with exit code 256: /bin/cp /Library/Preferences/com.apple.samba.plist /tmp/slapconfigbackupstage356181QINwc/
    2010-04-14 13:26:28 -0700 - popen: /usr/bin/sw_vers > /tmp/slapconfigbackupstage356181QINwc/version.txt, "r"
    2010-04-14 13:26:28 -0700 - popen: /bin/cp -r /var/db/dslocal /tmp/slapconfigbackupstage356181QINwc/, "r"
    2010-04-14 13:26:28 -0700 - 5 Backing up local directory database
    2010-04-14 13:26:28 -0700 - popen: /usr/bin/tar czpf /tmp/slapconfigbackupstage356181QINwc/shadowbackup.tar.gz /var/db/shadow, "r"
    2010-04-14 13:26:28 -0700 - popen: /usr/bin/gnutar cpf /tmp/slapconfigbackupstage356181QINwc/sambabackup.tar /var/db/samba /etc/smb.conf, "r"
    2010-04-14 13:26:28 -0700 - command: /usr/bin/gnutar --delete -f /tmp/slapconfigbackupstage356181QINwc/sambabackup.tar var/db/samba/secrets.tdb
    2010-04-14 13:26:28 -0700 - command: /usr/bin/gzip -f4 /tmp/slapconfigbackupstage356181QINwc/sambabackup.tar
    2010-04-14 13:26:28 -0700 - Backed Up Keychain
    2010-04-14 13:26:28 -0700 - 6 Creating archive
    2010-04-14 13:26:28 -0700 - command: /usr/bin/hdiutil create -ov -plist -puppetstrings -layout UNIVERSAL CD -fs HFS+ -volname ldap_bk -srcfolder /tmp/slapconfigbackupstage356181QINwc -format SPARSE /.ServerBackups/openDirectory/ServerBackup_OpenDirectoryMaster
    2010-04-14 13:26:40 -0700 - Removed directory at path /tmp/slapconfigbackupstage356181QINwc.
    2010-04-14 13:26:40 -0700 - Removed file at path /var/run/slapconfig.lock.
    It looks like slapconfig -backupdb runs hourly but something goes wrong occasionally. Anyone seen this before?

    Glad to see I'm not the only one!
    I am doing hourly TimeMachine backups. It doesn't happen with every backup, but it does seem to happen when the backup gets "stuck" for one reason or anther. It's as though the scripts lock something down, and then I can't get to the shares via AFP. I can over FTP though while they are "invisible" to AFP.
    But the next time the script runs again it seems to clear itself up. So, perhaps shutting TM off, then restarting the service would free the thing up. I have no instant fix at the moment. Just throwing more info out there.

  • Unique id for ADAM LDAP

    Hi-
       I have configured my ADAM LDAP for the UME. In the ADAM i have created users and given them admin permission. But when i try to test connection from the config tool, i am able to bind to the LDAP sucessfully. But, when i click on authentication tab it says, "Authentication failed: No user found". I am using datasourceConfiguration_ads_deep_writeable_deep.xml. Is there anything else i need to do to connect to the ADAM. I feel the unique id is the problem here??. Please let me know if you have any answer ASAP.
    Thanks
    Subramanya

    Did you follow this procedure?
    http://help.sap.com/saphelp_nw04s/helpdata/en/12/7678123c96814bada2c8632d825443/frameset.htm
    -Michael

  • LDAP or JNDI Synchronization Across JVMs?

    I need to perform an atomic operation (get & set) in
    LDAP that is synchronized between multiple
    applications (i.e. across JVMs).
    Is that possible using iDS 4.x or 5.x?
    Does iDS implementation of JNDI/LDAP API provide a
    global lock mechanism (I know that this feature is not
    supported in the API)?
    Here is my actual problem. I need to generate a unique
    id of type "long". This id should be unique across
    several Java applications. I would like to store this
    id in LDAP.
    Any help is appreciated.
    Thanks, Shahriar

    There is no such locking mechanism. Is there a reason the unique id has to be type long? If not, then how about using a UUID? If it needs to be long, perhaps apportioning the number space between applications would work for you.

  • Connection pool for ldap

    Hi
    My application is an interface to ldap directory. I have not used any ldap open source api to retrieve data from ldap. I have written connection pool that will help the application to connect to the ldap. It's working fine, but it's creating threads which are not invited.
    ConnectionPool class takes care of the connection storage and creation, while Housekeeping thread relases these connection when idle after a given time.
    Can someone please help in finding the problem in the code that creates additional threads.
    package com.ba.cdLookup.manager;
    import com.ba.cdLookup.exception.CDLookupException;
    import com.ba.cdLookup.server.CdLookupProperties;
    import java.util.Vector;
    import javax.naming.Context;
    import javax.naming.NamingException;
    public class HouseKeeperThread extends Thread {
             * Apache Logger to log erro/info/debug statements.
        protected static org.apache.commons.logging.Log log = org.apache.axis.components.logger.LogFactory
             .getLog(HouseKeeperThread.class.getName());
        private static HouseKeeperThread houseKeeperThread;
             * Close all connections existing.
             * @param connections
             *                void
        private void closeConnections(Vector connections) {
         String methodIdentifier = "closeConnections";
         int numOfConn = connections.size();
         try {
             for (int i = 0; i < numOfConn; i++) {
              Context context = (Context) connections.get(i);
              if (context != null) {
                  context.close();
                  context = null;
                  connections.remove(i);
                  numOfConn--;
                  log.info(" connection name:" + context
                       + " removed. Threadcount =" + (connections.size()));
         } catch (NamingException e) {
             String errMsg = "CDLdapBuilder connect() - failure while releasing connection "
                  + " Exception is " + e.toString();
             log.error(errMsg);
         } catch (Exception e) {
             String errMsg = "CDLdapBuilder connect() - failure while releasing connection "
                  + " Exception is " + e.toString();
             log.error(errMsg);
             * Thread run method
        public void run() {
         String methodIdentifier = "run";
         try {
             while(true){
              log.debug("house keeping :" + this + " ---sleep");
              //sleep(100000);
              log.debug("house keeping :" + this + " startd after sleep");
               sleep(CdLookupProperties.getHouseKeepConnectionTime());
              ConnectionPool connectionPool = ConnectionPool
                   .getConnectionPool();
              Vector connList = connectionPool.getAvailableConnections();
              closeConnections(connList);
         } catch (CDLookupException cde) {
             log.error(methodIdentifier + " " + cde.getStackTrace());
         } catch (InterruptedException ie) {
             log.error(methodIdentifier + " " + ie.getStackTrace());
         * @param connectionPool
         * @return
         * Thread
        public static Thread getInstance() {
         if(houseKeeperThread==null){
             houseKeeperThread = new HouseKeeperThread();
         return houseKeeperThread ;
    package com.ba.cdLookup.manager;
    import com.ba.cdLookup.exception.CDLookupException;
    import com.ba.cdLookup.server.CdLookupProperties;
    import com.ba.cdwebservice.schema.cdLookupPacket.LookupFailureReasons;
    import java.util.Properties;
    import java.util.Vector;
    import javax.naming.Context;
    import javax.naming.NamingException;
    import javax.naming.directory.DirContext;
    import javax.naming.directory.InitialDirContext;
    * ConnectionPool class manages, allocates LDAP connections. It works as a lazy
    * binder and retrieves connections only when required. It doesn't allow
    * connection greater then the maximum connection stated.
    * To retrieve a connection the singelton method getConnectionPool is to used,
    * which retruns thread safe singleton object for the connection.
    public class ConnectionPool implements Runnable {
        private int initialConnections = 0;
        private int maxConnections = 0;
        private boolean waitIfBusy = false;
        private Vector availableConnections, busyConnections;
        private boolean connectionPending = false;
        private static int threadCount = 0;
             * classIdentifier
        private final String classIdentifier = "ConnectionPool";
             * Apache Logger to log erro/info/debug statements.
        protected static org.apache.commons.logging.Log log = org.apache.axis.components.logger.LogFactory
             .getLog(CDLdapBuilder.class.getName());
             * To get the attribute a systemaccessfor out of the search result
        private String vendorContextFactoryClass = "com.sun.jndi.ldap.LdapCtxFactory";// "com.ibm.jndi.LDAPCtxFactory";
             * context factory to use
        private String ldapServerUrl = "LDAP://test.ldap.com"; // default ldap
             * server live used by default
        private String searchBase;
             * environment properties.
        private Properties env;
             * DirContext
        private javax.naming.directory.DirContext ctx;
             * default search base to be used in Corporate Directory searches
        private String defaultSearchBase = "dc=Pathway";
             * search criteria
        private String searchAttributes;
             * search filter to retrieve data from CD
        private String searchFilter;
             * CorporateDirectoryLookup Constructor
             * <p>
             * loads the setup parameters from the properties file and stores them
             * Makes a connection to the directory and sets default search base
             * @throws CDLookupException
             * @throws CDLookupException
        private ConnectionPool() throws CDLookupException {
         this.maxConnections = CdLookupProperties.getMaxConnection();// maxConnections;
         this.initialConnections = CdLookupProperties.getInitialConnection();
         this.waitIfBusy = CdLookupProperties.isWaitIfBusy();
         this.searchBase = CdLookupProperties.getDefaultSearchBase();
         //for local env testing
    //      this.maxConnections = 5;
    //      this.initialConnections = 1;
    //      this.waitIfBusy = true;
             * For keeping no of connections in the connection pool if
             * (initialConnections > maxConnections) { initialConnections =
             * maxConnections; }
         availableConnections = new Vector(maxConnections);
         busyConnections = new Vector(maxConnections);
         for (int i = 0; i < maxConnections; i++) {
             availableConnections.add(makeNewConnection());
             *  ConnectionPoolHolder provide Thread safe singleton
             *         instance of ConnectionPool class
        private static class ConnectionPoolHolder {
             * connection pool instance
         private static ConnectionPool connectionPool = null;
             * If no ConnectionPool object is present, it creates instance of
             * ConnectionPool class and initiates thread on that.
             * @return ConnectionPool Returns singleton object of ConnectionPool
             *         class.
             * @throws CDLookupException
         private static ConnectionPool getInstance() throws CDLookupException {
             if (connectionPool == null) {
              connectionPool = new ConnectionPool();
              new Thread(connectionPool).start();
              // Initiate house keeping thread.
              HouseKeeperThread.getInstance().start();
             return connectionPool;
             * Returns singleton object of ConnectionPool class.
             * @return ConnectionPool
             * @throws CDLookupException
        public static ConnectionPool getConnectionPool() throws CDLookupException {
         return ConnectionPoolHolder.getInstance();
             * getConnection retrieves connections to the corp directory. In case
             * there is no available connections in the pool then it'll try to
             * create one, if the max connection limit for the connection pool
             * reaches then this waits to retrieve one.
             * @return Context
             * @throws CDLookupException
        public synchronized Context getConnection() throws CDLookupException {
         String methodIdentifier = "getConnection";
         if (!availableConnections.isEmpty()) {
             int connectionSize = availableConnections.size() - 1;
             DirContext existingConnection = (DirContext) availableConnections
                  .get(connectionSize);
             availableConnections.remove(connectionSize);
                     * If connection on available list is closed (e.g., it timed
                     * out), then remove it from available list and repeat the
                     * process of obtaining a connection. Also wake up threads that
                     * were waiting for a connection because maxConnection limit was
                     * reached.
             if (existingConnection == null) {
              notifyAll(); // Freed up a spot for anybody waiting
              return (getConnection());
             } else {
              busyConnections.add(existingConnection);
              return (existingConnection);
         } else {
                     * Three possible cases: 1) You haven't reached maxConnections
                     * limit. So establish one in the background if there isn't
                     * already one pending, then wait for the next available
                     * connection (whether or not it was the newly established one).
                     * 2) You reached maxConnections limit and waitIfBusy flag is
                     * false. Throw SQLException in such a case. 3) You reached
                     * maxConnections limit and waitIfBusy flag is true. Then do the
                     * same thing as in second part of step 1: wait for next
                     * available connection.
             if ((totalConnections() < maxConnections) && !connectionPending) {
              makeBackgroundConnection();
             } else if (!waitIfBusy) {
              throw new CDLookupException("Connection limit reached", 0);
                     * Wait for either a new connection to be established (if you
                     * called makeBackgroundConnection) or for an existing
                     * connection to be freed up.
             try {
              wait();
             } catch (InterruptedException ie) {
              String errMsg = "Exception raised =" + ie.getStackTrace();
              log.error(errMsg);
              throw new CDLookupException(classIdentifier, methodIdentifier,
                   errMsg, ie);
             // connection freed up, so try again.
             return (getConnection());
             * You can't just make a new connection in the foreground when none are
             * available, since this can take several seconds with a slow network
             * connection. Instead, start a thread that establishes a new
             * connection, then wait. You get woken up either when the new
             * connection is established or if someone finishes with an existing
             * connection.
        private void makeBackgroundConnection() {
         connectionPending = true;
         try {
             Thread connectThread = new Thread(this);
             log.debug("background thread created");
             connectThread.start();
         } catch (OutOfMemoryError oome) {
             log.error("makeBackgroundConnection ="+ oome.getStackTrace());
             * Thread run method
        public void run() {
         String methodIdentifier = "run";
         try {
             Context connection = makeNewConnection();
             synchronized (this) {
              availableConnections.add(connection);
              connectionPending = false;
              notifyAll();
         } catch (Exception e) { // SQLException or OutOfMemory
             // Give up on new connection and wait for existing one
             // to free up.
             String errMsg = "Exception raised =" + e.getStackTrace();
             log.error(errMsg);   
             * This explicitly makes a new connection. Called in the foreground when
             * initializing the ConnectionPool, and called in the background when
             * running.
             * @return Context
             * @throws CDLookupException
        private Context makeNewConnection() throws CDLookupException {
         String methodIdentifier = "makeNewConnection";
         Context context = null;
         env = new Properties();
         log.debug("inside " + methodIdentifier);
         try {
             env.put(Context.INITIAL_CONTEXT_FACTORY,
                  getVendorContextFactoryClass());
             env.put(Context.PROVIDER_URL, getLdapServerUrl());
             env.put("com.sun.jndi.ldap.connect.pool", "true");
             context = new InitialDirContext(env);
         } catch (NamingException e) {
             String errMsg = "CDLdapBuilder connect() - failure while attempting to contact "
                  + ldapServerUrl + " Exception is " + e.toString();
             throw new CDLookupException(classIdentifier, methodIdentifier,
                  errMsg, e, LookupFailureReasons.serviceUnavailable);
         } catch (Exception e) {
             String errMsg = "CDLdapBuilder connect() - failure while attempting to contact "
                  + ldapServerUrl + " Exception is " + e.toString();
             throw new CDLookupException(classIdentifier, methodIdentifier,
                  errMsg, e, LookupFailureReasons.serviceUnavailable);
         log.info("new connection :" + (threadCount++) + " name =" + context);
         log.debug("exit " + methodIdentifier);
         return context;
             * releases connection to the free pool
             * @param context
        public synchronized void free(Context context) {
         busyConnections.remove(context);
         availableConnections.add(context);
         // Wake up threads that are waiting for a connection
         notifyAll();
             * @return int give total no of avail connections.
        public synchronized int totalConnections() {
         return (availableConnections.size() + busyConnections.size());
             * Close all the connections. Use with caution: be sure no connections
             * are in use before calling. Note that you are not <I>required</I> to
             * call this when done with a ConnectionPool, since connections are
             * guaranteed to be closed when garbage collected. But this method gives
             * more control regarding when the connections are closed.
        public synchronized void closeAllConnections() {
         closeConnections(availableConnections);
         availableConnections = new Vector();
         closeConnections(busyConnections);
         busyConnections = new Vector();
             * Close all connections existing.
             * @param connections
             *                void
        private void closeConnections(Vector connections) {
         String methodIdentifier = "closeConnections";
         try {
             for (int i = 0; i < connections.size(); i++) {
              Context context = (Context) connections.get(i);
              if (context != null) {
                  log.info(" connection name:" + context
                       + " removed. Threadcount =" + (threadCount++));
                  context.close();
                  context = null;
         } catch (NamingException e) {
             String errMsg = "CDLdapBuilder connect() - failure while attempting to contact "
                  + ldapServerUrl + " Exception is " + e.toString();
             log.error(errMsg);
        public synchronized String toString() {
         String info = "ConnectionPool(" + getLdapServerUrl() + ","
              + getVendorContextFactoryClass() + ")" + ", available="
              + availableConnections.size() + ", busy="
              + busyConnections.size() + ", max=" + maxConnections;
         return (info);
             * @return the defaultSearchBase
        public final String getDefaultSearchBase() {
         return defaultSearchBase;
             * @param defaultSearchBase
             *                the defaultSearchBase to set
        public final void setDefaultSearchBase(String defaultSearchBase) {
         this.defaultSearchBase = defaultSearchBase;
             * @return the ldapServerUrl
        public final String getLdapServerUrl() {
         return ldapServerUrl;
             * @param ldapServerUrl
             *                the ldapServerUrl to set
        public final void setLdapServerUrl(String ldapServerUrl) {
         this.ldapServerUrl = ldapServerUrl;
             * @return the vendorContextFactoryClass
        public final String getVendorContextFactoryClass() {
         return vendorContextFactoryClass;
             * @param vendorContextFactoryClass
             *                the vendorContextFactoryClass to set
        public final void setVendorContextFactoryClass(
             String vendorContextFactoryClass) {
         this.vendorContextFactoryClass = vendorContextFactoryClass;
         * @return the availableConnections
        public final Vector getAvailableConnections() {
            return availableConnections;
    }

    Hi,
    As the connection pool implmentation has the bug of not extending more than the min size, workaround I use is MIN_CONN=100 and MAX_CONN=101,and just waiting for the bug to get fixed. (using Netscape SDK for java4.0)

  • Java ftp server which can use LDAP, how to integrate with WLS' implementation of LDAP?

    Howdy.
    I'm setting up a java ftp server
    (http://www.mycgiserver.com/~ranab/ftp/index.html) which is capable of using
    LDAP for it's user security. I would like to integrate this ftp server with
    wls' implementation of LDAP so I only have to admin one user list.
    Does wls put it's user list in the LDAP or in it's own proprietary setup? I
    tried playing around with it, but the users don't seem to appear in the JNDI
    tree. Is this where the LDAP stuff is located? I thought it was in there?
    If it's in it's own setup, is there a way to propagate the users to LDAP?
    If these look like newbie Q&A, I guess they kind of are, I'm new to LDAP.
    Thanks for any input you might have.

    Peter,
    If you are talking about using the embedded LDAP server in WLS 7.0 for this purpose
    I think you are going done the wrong path.
    Look at the following URL on how to use an external LDAP server for your custom
    application
    http://e-docs.bea.com/wls/docs70/secmanage/realm.html#1172008
    Chuck Nelson
    DRE
    BEA Technical Support

Maybe you are looking for

  • How do i move photos,music and apps from my old G5 to my new macbook pro?

    How do I move photos,music and apps  from my old G5 to my new Macbook Pro?  I've downloaded my files to an external drive and apprear to have uploaded them to my new Macbook but they still do not show up in my music/poto libraries.  Anybody know what

  • Apple TV keeps asking for payment confirmation

    Unable to rent or download films as keeps asking for confirmation of payment details to be updated at iTunes Store. I have it over and over again but to no avail. Have run updates (all up to date) and tried resetting device. Can download music ok on

  • MS Money Alternative

    Hi, As the title says really. I'm looking for a good piece of software similar to MS Money. I've never used MS Money (on Win or Mac PC's). I notice Microsoft doesn't make Money for the Mac though. I've googled around but couldn't find anything from a

  • Why use interfaces?

    What is the point in interfaces? I understand that you can use them to ensure a class implements certain methods. Why does this need to be done? Do they have any other use? thank you mike

  • FM9: Possible to make "fit window to page" the default?

    I'm using FM9, structured, on Windows 7.  (My company recently upgraded from FM7.0.)  In FM 7.0, my documents seemed to remember the last zoom I had set, and if I saved them having set "Fit Window to Page", the next time I opened the document that se