Básicamente recorro el árbol de LDAP en Active Directory.JNDI con Active Directory PartialResultException
En cada nivel, consulto "(objectClass=*)"
. Cuando hago esto en la raíz, por ejemplo, "dc=example,dc=com"
obtengo la excepción a continuación. Esto funciona bien en nuestras otras instancias de LDAP. Por alguna razón, solo en nuestro servidor de Active Directory obtengo esta excepción. También recibo la misma excepción cuando uso JXplorer en nuestro servidor de Active Directory.
Al leer en línea, encontré que la gente decía que debería activar las siguientes, no estoy seguro de lo que eso significa ... Así que en mi objeto de control (javax.naming.directory.SearchControls
) que paso con la consulta llamo searchControls.setDerefLinkFlag(true)
. También intenté configurarlo en false
con el mismo resultado. ¿Alguna sugerencia sobre qué más podría causar esto? ¿Tal vez cómo podría arreglarlo?
Nota: En este post he cambiado el baseDn de dc=<my company domain>
por ejemplo para la privacidad de mi empresa.
javax.naming.PartialResultException: Unprocessed Continuation Reference(s); remaining name 'dc=example,dc=com'
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2820)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2794)
at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1826)
at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1749)
at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:368)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:338)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:321)
at javax.naming.directory.InitialDirContext.search(InitialDirContext.java:248)
at com.motio.pi.gui.panels.useraccess.ldap.LDAPConnector.query(LDAPConnector.java:262)
at com.motio.pi.gui.selector.directory.CognosDirectoryBrowserController.expandCognosTreeNode(CognosDirectoryBrowserController.java:99)
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 com.motio.pi.utils.PIThreadDelegate$1.run(PIThreadDelegate.java:54)
at java.lang.Thread.run(Thread.java:662)
@startoftext: de curso que resuelve el problema PartialResultException, pero hace que la búsqueda más lenta. Por favor, consulte http://stackoverflow.com/questions/14136091/ldap-search-is-very-slow. De hecho, con 'seguir' lleva 4 segundos y sin 'seguir' me lleva 1 segundo. Por favor, consejo, si tiene alguna solución para ello. –
@Karthik Bose Ya no estoy trabajando con ldap, así que lo siento, no puedo ayudar. – startoftext
(para los demás) Si la solución anterior no funciona, puede probar las siguientes 2 cosas: ** (1) ** Sea más específico cuando mencione el nombre (Ej: 'OU = Cuentas, DC = x, DC = y' en lugar de 'DC = x, DC = y'. ** (2) ** Cambie el número de puerto LDAP a ** 3268 ** (en lugar de ** 389 **) –