2012-09-11 4 views
0

LDAP의 항목에 objectClasses 및 dc 및 ou 속성과 해당 값이 있습니다. ou 속성을 읽으려고하지만 아래 코드로 얻을 수 없습니다. DC 값을 올바르게 얻을 수 있습니다. null 인 경우 제어해야한다는 것을 알고 있지만 LDAP에서 발생하더라도 "ou"가 null 일 수 있습니다.빈/널 속성 값

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

답변

1

dc 값은 OU에서 사용하지 못할 수 있습니다. 마찬가지로 ou 값은 DC에서 사용하지 못할 수도 있습니다.

- 짐

0
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"를 포함해야합니다.