SOA 11g: "javax.naming.NamingException: LDAP response read timed out" Human Workflow Notification Framework Fails with LDAP Timeout (Doc ID 1522194.1)

Last updated on DECEMBER 07, 2016

Applies to:

Oracle SOA Suite - Version 11.1.1.2.0 and later
Information in this document applies to any platform.
***Checked for relevance on 25-Jun-2014***

Symptoms

On : 11.1.1.6.0 version, Human workflow

SOA Suite Human Workflow Notification framework is not able to send notification and the exception trace shows the Notification framework failed on an LDAP timeout with the below exception trace
 
EXCEPTION
-----------------------

javax.naming.NamingException: LDAP response read timed out, timeout used:60000ms.; remaining name 'ou=users,dc=<domainname>,dc=com'
    at com.sun.jndi.ldap.Connection.readReply(Connection.java:452)
    at com.sun.jndi.ldap.LdapClient.getSearchReply(LdapClient.java:611)
    at com.sun.jndi.ldap.LdapClient.search(LdapClient.java:534)
    at com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:1965)
    at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1827)
    at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1752)
    at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:368)
    at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:338)
    at javax.naming.directory.InitialDirContext.search(InitialDirContext.java:257)
    at oracle.ods.virtualization.engine.backend.jndi.ConnectionHandle.search(ConnectionHandle.java:261)
    at oracle.ods.virtualization.engine.backend.jndi.JNDIEntrySet.initialize(JNDIEntrySet.java:219)
.........
    at oracle.security.idm.providers.libovd.util.LDAPUser.getReportees(LDAPUser.java:210)
    at oracle.security.idm.providers.libovd.LibOVDUser.getReportees(LibOVDUser.java:586)
    at oracle.tip.pc.services.identity.jps.UserImpl.getDirectReportees(UserImpl.java:987)
    at oracle.tip.pc.services.identity.jps.UserImpl.getAllReportees(UserImpl.java:948)
    at oracle.tip.pc.services.identity.jps.UserImpl.getReportees(UserImpl.java:925)
    at oracle.bpel.services.workflow.verification.impl.VerificationService.createContextS(VerificationService.java:937)
    at oracle.bpel.services.workflow.verification.impl.VerificationService.createContext(VerificationService.java:912)
    at oracle.bpel.services.workflow.verification.impl.VerificationService.createContext(VerificationService.java:866)
    at oracle.bpel.services.workflow.verification.impl.VerificationService.authenticateUser(VerificationService.java:771)
........
    at oracle.bpel.services.workflow.task.notification.TaskNotifications.getNotificationUserContext(TaskNotifications.java:3282)
    at oracle.bpel.services.workflow.task.notification.TaskNotifications.getNotificationUserInternalContext(TaskNotifications.java:3269)
    at oracle.bpel.services.workflow.task.notification.TaskNotifications.getEmailNotificationContent(TaskNotifications.java:1005)
    at oracle.bpel.services.workflow.task.notification.TaskNotifications.sendEmailNotification(TaskNotifications.java:980)
    at oracle.bpel.services.workflow.task.notification.TaskNotifications.sendPreferredNotification(TaskNotifications.java:2203)
    at oracle.bpel.services.workflow.task.notification.TaskNotifications.sendNotificationToUser(TaskNotifications.java:2106)
    at oracle.bpel.services.workflow.task.notification.TaskNotifications.sendTaskNotification(TaskNotifications.java:1873)
    at oracle.bpel.services.workflow.task.notification.TaskNotifications.notifyForTaskInternal(TaskNotifications.java:683)
    at oracle.bpel.services.workflow.task.notification.TaskNotifications.notifyForTask(TaskNotifications.java:498)
......
    at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:583)
    at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:486)
    at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:389)
    at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4659)
    at weblogic.jms.client.JMSSession.execute(JMSSession.java:4345)
    at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3822) 

 
STEPS
-----------------------
1. Configure SOA Suite with external Authentication Provider (for eg. Sun one LDAP)

2. Configure Human Workflow task with Notification sent to the user for a workflow activity. (For eg. Send Notification to Assignees when the Task is assigned).

3. Assign a task to a manager user (user who has some reportees).

4. Notice the workflow notification gets timeout if the LDAP has large number of users.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms