空/空属性值

问题描述:

我在LDAP中的一个条目中有一些objectClasses和dc和ou属性及其值。 我尝试读取ou属性,但我不能得到它与下面的代码。 我可以正确地得到dc值。 我知道我必须控制它是否为空,但为什么尽管在LDAP中发生“ou”可能为空。空/空属性值

NamingEnumeration answer = ctx.search(searchBaseDn, filter, ctls); 
      try 
       { 
        while (answer.hasMore()) 
        { 
         SearchResult sr = (SearchResult) answer.next(); 
         OrganizationPojo organizationPojo = new OrganizationPojo(); 
         organizationPojo.setOrgDc((String)sr.getAttributes().get("dc").get()); 
         organizationPojo.setOrgOu((String)sr.getAttributes().get("ou").get()); 

dc值可能在OU上不可用。 同样,ou值可能无法在DC上使用。

-Jim

ctx = new InitialDirContext(env); 
      String[] attrIDs = { "dc", "objectClass","ou" }; 

      SearchControls ctls = new SearchControls(); 
      ctls.setReturningAttributes(attrIDs); 

      String filter = "(&(dc=*) (objectClass=organizationalUnit) (ou=*))"; 

      NamingEnumeration answer = ctx.search(dn, filter, ctls); 

attrIds必须包含"ou"