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

Reply via email to