1

我收到此错误:"LDAPSearchException: size limit exceeded" error服务器仅返回 500 个结果。我们经验丰富的 LDAP 管理员向我保证,服务器上没有设置此限制。事实上,通过在 CLI 上使用“ldapsearch”,我可以获得超过 500 个结果。

本文LDAPException Size Limit exceeded中的建议正是我所需要的。但是,当我尝试在我的 LDAPConnection 对象 ( ld.setSearchConstraints(ldsc);) 上设置 LDAPSearchConstraints 对象时,我收到一个编译错误,指出该方法不存在:

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

4

1 回答 1

2

看了一下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

于 2014-07-08T16:48:02.230 回答