UnboundID LDAP SDK for Java

Ping Identity
Product Information
Advantages of the LDAP SDK

Easy Access to Debugging Information

Whenever an application is behaving in an incorrect or unexpected manner, it is important to be able to quickly analyze the behavior and determine the source of the problem. For applications that use an API for communicating with a directory server, it is important for that API to provide adequate debugging information to help determine where the cause of the problem might exist.

JNDI Debugging Capabilities

JNDI appears to provide the following support for debugging:

There does not appear to be any other mechanism for accessing debug information in JNDI.

Netscape Directory SDK for Java Debugging Capabilities

The Netscape Directory SDK for Java provides the following support for debugging:

UnboundID LDAP SDK for Java Debugging Capabilities

The UnboundID LDAP SDK for Java provides significant access to debugging information. The types of debug information that can be generated include:

Each of these types of debugging can be enabled or disabled individually, and debugging can be configured either programmatically or using system properties. Debug messages are handled using the Java logging framework. See the class documentation for the com.unboundid.util.Debug class for more information.

In addition to the code-based debugging, the LDAP SDK comes with the ldap-debugger example tool that can be used to help better understand what directory-enabled applications are actually doing when they communicate with an LDAP directory server. This tool may be used to create a simple LDAP proxy server that can sit between the client and the target directory server, and it will intercept and decode any communication passing between it. This tool can be used for any LDAP communication in which the client can be configured to use an alternate address and/or port for the directory server, regardless of the type of server or the API used to create the client application.