Thanks for responding. I have been using SearchScope.SUBTREE, and it makes no difference.
On 3/6/2018 3:51 PM, Emmanuel Lécharny wrote:
Hi, are you sure you have entries below the point you are searching from ? You are doing a search using a ONE_LEVEL scope, which will return oly the children entries. Le 06/03/2018 à 22:32, George S. a écrit :I'm trying to use the API library and i'm running into a problem. I'm trying to do a search (see method below). Using this bound connection, I can do a lookup. For example, I can do .lookup(base,"objectClass"), .lookup(base,"dc"), etc. However search isn't working. Can anyone give me an idea of what I'm doing wrong. I've looked through the docs and I'm just not getting it. public Collection<Entry>search(String base,String... attributeNames)throws LdapException{ if (attributeNames.length ==0){ attributeNames =new String[]{ "distinguishedName","objectClass","name", prop.getProperty("emailAddress","mail")}; } Collection<Entry> entries =new ArrayList<>(); // LC is LdapNetworkConnection EntryCursor cursor = lc.search(new Dn(base),"(objectclass=*)", SearchScope.ONELEVEL,attributeNames); if (isDebugMode()){ System.err.print("search(\""+base+"\""); for (String s : attributeNames){ System.err.print(",\""+s+"\""); } System.err.println(");"); System.err.println("cursor.available()=" + cursor.available()); } if (cursor.available()){ for (Entry entry: cursor){ entries.add(entry); } } else { if (isDebugMode()){ System.err.println("SearchResults came back null!"); } } try { cursor.close(); } catch (IOException ioeClose){ ioeClose.printStackTrace(System.err); } return entries; } The output is: getAttribute() entry=[Entry dn: DC=somedistrict,DC=k12,DC=local dc: somedistrict ] dc somedistrict search("DC=somedistrict,DC=k12,DC=local","objectClass"); cursor.available()=false SearchResults came back null!
-- George S. *MH Software, Inc.* Voice: 303 438 9585 http://www.mhsoftware.com
