Bom dia Negada…
Minha ultima esperança são vocês
Então o que acontece é que estou tentando recuperar do Active Directory via LDAP algumas informaçãoes que sempre passam o limite permitido de retornos do AD, o que gera uma excessão…
partialresultexception unprocessed continuation references remaining name “my searchBase”.
Então gostaria de saber se vocês podem me ajudar… estou penando nisto faz algum tempo já, e desde já agradeço.
Meu Code
try {
LdapContext ctx = LDAPOperations.getContext(host, port, ssl, user, password);
// Activate paged results
int pageSize = 500;
byte[] cookie = null;
ctx.setRequestControls(new Control[] { new PagedResultsControl(pageSize, Control.NONCRITICAL) });
int total;
do {
/* perform the search */
NamingEnumeration<SearchResult> results = ctx.search("searchbase", memberof="groupName", new SearchControls());
/* for each entry print out name + all attrs and values */
while (results != null && results.hasMore()) {
SearchResult entry = results.next();
System.out.println(entry.getName());
}
// Examine the paged results control response
Control[] controls = ctx.getResponseControls();
if (controls != null) {
for (int i = 0; i < controls.length; i++) {
if (controls[i] instanceof PagedResultsResponseControl) {
PagedResultsResponseControl prrc = (PagedResultsResponseControl) controls[i];
total = prrc.getResultSize();
if (total != 0) {
System.out.println("***************** END-OF-PAGE " + "(total : " + total + ") *****************\n");
} else {
System.out.println("***************** END-OF-PAGE " + "(total: unknown) ***************\n");
}
cookie = prrc.getCookie();
System.out.println("***************** COOKIE " + "(total: COOKIE) ***************\n" + cookie);
}
}
} else {
System.out.println("No controls were sent from the server");
}
// Re-activate paged results
ctx.setRequestControls(new Control[] { new PagedResultsControl(pageSize, cookie, Control.CRITICAL) });
} while (cookie != null);
ctx.close();
} catch (NamingException e) {
System.err.println("PagedSearch failed.1");
e.printStackTrace();
} catch (IOException ie) {
System.err.println("PagedSearch failed.2");
ie.printStackTrace();
}