2014-07-08 95 views
1

我得到這個錯誤:"LDAPSearchException: size limit exceeded" error和服務器只返回500個結果。我由我們經驗豐富的LDAP管理員確信,此限制未在服務器上設置。事實上,我可以通過在CLI上使用'ldapsearch'獲得500多個結果。java ldapsearchexception大小限制超出setMaxResults

這篇文章中的建議LDAPException Size Limit exceeded正是我所需要的。然而,當我嘗試設置LDAPSearchConstraints我LDAPConnection對象的對象(ld.setSearchConstraints(ldsc);)我得到一個編譯錯誤說該方法不存在:

cannot find symbol 
symbol : method setSearchConstraints(com.unboundid.ldap.sdk.migrate.ldapjdk.LDAPSearchConstraints) 
location: class com.unboundid.ldap.sdk.LDAPConnection. 

是否有人知道爲什麼這個方法不可用?我嘗試過unboundid-ldapsdk的不同版本,甚至在我的pom文件中嘗試了不同的版本庫。或者,如果有人知道如何使用不同方法檢索超過默認搜索結果,請告訴我。

我使用64位Linux(版本: 「3.2.0-4-AMD64」)和Apache Maven的2.2.1(rdebian-8) Java版本:1.6.0_31

回答

1

考慮看看後在API,以限制搜索結果的正確方法是

com.unboundid.ldap.sdk.LDAPConnection connection = <some connection> 

com.unboundid.ldap.sdk.SearchRequest request = new SearchRequest(<your parameters>); 
request.setSizeLimit(<your limit>); 

SearchResult result = connection.search(request); 

,因爲你導入的錯誤LDAPConnection發生的編譯錯誤。

com.unboundid.ldap.sdk.migrate.ldapjdk.LDAPConnection < - 支持setSearchConstraints

com.unboundid.ldap.sdk.LDAPConnection < - 你正在使用這個類,它不支持setSearchConstraints

+0

感謝我錯過了 – Alaric