directory-api mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From prabhjot singh <er.prabhj...@gmail.com>
Subject RE: Apache LDAP API - ActiveDirectory Handling referrals
Date Tue, 05 Aug 2014 16:57:22 GMT
Thanks Kiran. That would mean LdapConnectionTemplate won't be safe to use in any of the search
operations.

Is it safe to use LdapConnectionTemplate for lookup operations at least?

Thanks,
Prabhjot 

-----Original Message-----
From: "Kiran Ayyagari" <kayyagari@apache.org>
Sent: ‎8/‎5/‎2014 10:19 PM
To: "api@directory.apache.org" <api@directory.apache.org>; "users@directory.apache.org"
<users@directory.apache.org>
Cc: "er.prabhjots@gmail.com" <er.prabhjots@gmail.com>
Subject: Re: Apache LDAP API - ActiveDirectory Handling referrals






On Tue, Aug 5, 2014 at 9:45 PM, Prabhjot Singh <prabhjot.singh@kaseya.com> wrote:

Hi Experts,



Can you please point me on how to handle referrals in the search operation?
I want the logic to follow the referrals so it collects results from all
Active Directory DCs. I get below exception even with followReferrals set
to true.



public List<Group> getAllGroups(String customer, String baseDn) throws
Exception {

        LdapConnectionTemplate connection =
connections.getLdapConnectionTemplate(customer);


LdapConnectionTemplate doesn't support referrals, so search using LdapNetworkConnection directly


        SearchRequest searchRequest = connection.newSearchRequest(baseDn,
"(objectclass=organizationalUnit)", SearchScope.ONELEVEL, GROUP_ATTRIBUTES);

        searchRequest = searchRequest.followReferrals();

        return connection.search(searchRequest, new GroupMapper());

}









java.lang.RuntimeException: ERR_02002_FAILURE_ON_UNDERLYING_CURSOR Failure
on underlying Cursor.

                at
org.apache.directory.api.ldap.model.cursor.CursorIterator.next(CursorIterator.java:86)

                at
org.apache.directory.ldap.client.template.LdapConnectionTemplate.search(LdapConnectionTemplate.java:662)

                at
com.kaseya.mobility.directory.core.dao.group.DirectoryDetailsDaoImpl.getAllGroups(DirectoryDetailsDaoImpl.java:53)

                at
com.kaseya.mobility.directory.core.dao.group.DirectoryDetailsDaoImplTest.testGetAllGroups(DirectoryDetailsDaoImplTest.java:66)

                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)

                at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

                at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

                at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)

                at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)

                at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)

                at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)

                at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)

                at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)

                at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)

                at
org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)

                at
org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)

                at
org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)

                at
org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)

                at
org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)

                at org.junit.runners.ParentRunner.run(ParentRunner.java:236)

                at org.junit.runner.JUnitCore.run(JUnitCore.java:157)

                at
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74)

                at
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:211)

                at
com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:67)

                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)

                at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

                at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)

Caused by:
org.apache.directory.api.ldap.model.cursor.CursorLdapReferralException

                at
org.apache.directory.ldap.client.api.EntryCursorImpl.get(EntryCursorImpl.java:164)

                at
org.apache.directory.ldap.client.api.EntryCursorImpl.get(EntryCursorImpl.java:50)

                at
org.apache.directory.api.ldap.model.cursor.CursorIterator.next(CursorIterator.java:80)

                ... 29 more




-- 
Kiran Ayyagari
http://keydap.com 
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message