Ldap 空/空属性值

Ldap 空/空属性值,ldap,jndi,apacheds,Ldap,Jndi,Apacheds,我在LDAP的一个条目中有一些ObjectClass、dc和ou属性及其值。 我试图读取ou属性,但我无法用下面的代码获得它。 我可以正确地得到dc值。 我知道我必须控制它是否为null,但为什么“ou”可能为null,尽管它发生在LDAP中 NamingEnumeration answer = ctx.search(searchBaseDn, filter, ctls); try { while

我在LDAP的一个条目中有一些ObjectClass、dc和ou属性及其值。 我试图读取ou属性,但我无法用下面的代码获得它。 我可以正确地得到dc值。 我知道我必须控制它是否为null,但为什么“ou”可能为null,尽管它发生在LDAP中

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上可能不可用

-吉姆

attrIds
必须包含
“ou”

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);