LDAP and RFC 2696 (Control Extension sor Simple Paged Results)

Hi everybody!

We are observing a strange behaviour of the LDAP server in Domino 6.

All we want to do is to perform a search operation

in Java. Following the source code:

package ldapdominotest;

import java.util.*;

import javax.naming.Context;

import javax.naming.directory.InitialDirContext;

import javax.naming.directory.*;

import javax.naming.directory.SearchControls;

import javax.naming.*;

import javax.naming.ldap.InitialLdapContext;

import com.sun.jndi.ldap.ctl.PagedResultsControl;

import com.sun.jndi.ldap.ctl.PagedResultsResponseControl;

public class Test {

public static void main(String args) throws Exception {

final Hashtable env = new Hashtable();

final String FILTER = "(objectclass=*)";



env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");

env.put(Context.PROVIDER_URL, "ldap://172.17.1.24:389");

// env.put(Context.SECURITY_AUTHENTICATION, “simple”);

// env.put(Context.SECURITY_PRINCIPAL, )

            PagedResultsControl c = new PagedResultsControl(2);

final InitialLdapContext ctx = new InitialLdapContext(env, new PagedResultsControl[]{c});

// final InitialLdapContext ctx = new InitialLdapContext(env, null);

	/*

            ((InitialLdapContext)con).setRequestControls(new Control[] {

                c

            });*/



final SearchControls ctrls = new SearchControls();

ctrls.setSearchScope(SearchControls.SUBTREE_SCOPE);

NamingEnumeration results = ctx.search("O=DOLS", FILTER, ctrls);



while ( results != null && results.hasMore() ) {

  final SearchResult res = (SearchResult) results.next();

  final String dn = res.getName();

  System.out.println("dn=" + dn);

  final Attributes attrs = res.getAttributes();

  for ( NamingEnumeration enum = attrs.getAll(); enum.hasMoreElements(); ) {

final Attribute attr = (Attribute) enum.next();

final String attrID = attr.getID();

System.out.println("attrID: " + attrID);

for ( Enumeration enum1 = attr.getAll(); enum1.hasMoreElements(); ) {

  System.out.println("\t " + enum1.nextElement());

}

  }

  System.out.println("\n");

}



System.out.println("OK");

}

}

Running this application yields a javax.naming.OperationNotSupportedException.

Removing the PagedResultsControl from the search request removes the exception.

Now our question: Is it possible that Domino 6 doesn’t support RFC 2696. In other words: Is it true that Domino 6 doesn’t support the PagedResultsControl? We know that Domino 5 supports it.

Any ideas?

Subject: LDAP and RFC 2696 (Control Extension sor Simple Paged Results)

Now our question: Is it possible that Domino 6 doesn’t support RFC 2696. In other words: Is it true that Domino 6 doesn’t support the PagedResultsControl? We know that Domino 5 supports it.

Nope, Domino 5 didn’t support it either. In order to support paged, it usually makes sense to support sort as well. (See my response to your other posting)