1.1 Getting Started

The following sections cover a few basic requirements for getting set up and started with the LDAP Classes for Java:

1.1.1 Dependencies

In addition to the LDAP Classes for Java, you will need the following:

  • JRE 1.2 or higher, required to run an application.

  • JDK* 1.2 Standard Edition or higher, required to develop an application. (The classes no longer support JDK 1.1.7).

  • JDK 1.5 Standard Edition is also supported.

Optionally, you will need the following to take full advantage of the functionality offered in the classes:

  • Novell eDirectory 8.5 or higher to develop or run applications using the extensions for naming context and replica management.

  • Novell eDirectory 8 or higher if you wish to develop or run applications that use SSL (Secure Socket Layer).

  • A Sun-compliant implementation of JSSE if you wish to develop or run applications that create TLS(SSL) connections. (see Section 1.2, Integrating SSL with the LDAP Classes).

  • Novell eDirectory 8.7 or higher if you wish to develop or run applications that start/stop TLS (Transport Layer Security).

1.1.2 Supported Platforms

The LDAP Classes for Java enable you to write applications to access, manage, update and search for information stored in eDirectory and other LDAP-aware directories.

Server applications must run on the same machine as the LDAP server, whereas a client application can run on any supported machine. The classes currently support development on the following eDirectory server platforms:

  • NetWare 6™

  • NetWare 5.1™

  • NetWare 5™ with SP4 or higher

  • Windows NT* server 4.0 with SP 4

  • Solaris 2.8*

  • Linux* (tested on Red Hat 6.2*, and 7.2*)

  • AIX 4.3*

  • HP-UX 11.11*

Client applications remotely access directory information stored on an LDAP server. The classes currently support development of such applications on the following client platforms:

  • NetWare 6™

  • NetWare 5.1™

  • NetWare 5™ with SP4 or higher

  • Windows NT* workstation 4.0 with SP 3 and SP 4

  • Windows 95*

  • Windows 98*

  • Windows 2000*

  • Windows XP*

  • Solaris 2.8*

  • Linux* (tested on Red Hat 6.2, and 7.2*)

  • AIX 4.3*

  • HP-UX 11.11*

1.1.3 LDAP Classes

The LDAP Classes for Java includes the following packages. Both of these java packages are included in the LDAP.jar file.

Table 1-1 Package Details

Package

Description

com.novell.ldap

This package contains the Novell Java Classes for LDAP. It includes the following:

  • Classes defined by the IETF Java LDAP API Internet Draft

  • Classes defined by IETF Java LDAP Internet Drafts on controls

  • Classes supporting SSL authentication

  • Classes supporting Novell defined extensions

  • Classes supporting controls for eDirectory operations

  • Classes providing OID definitions for common syntaxes, attributes, controls, etc.

  • Classes supporting generation of ASN.1 for customer defined controls or extensions

org.ietf.ldap

This package contains only those classes defined by the current IETF drafts and RFCs, and should be used when binary compatibility with other SDKs are required. It includes the following:

  • Classes defined by the IETF Java LDAP API Internet Draft

  • Classes defined by IETF Java LDAP Internet Drafts on controls

You will need to use either the com.novell.ldap package or the org.ietf.ldap package. For information on the required jar files for SSL security, see Section 1.2, Integrating SSL with the LDAP Classes

1.1.4 Sample Code

The LDAP Classes for Java contain a number of samples demonstrating common operations. These samples are available on the NDK Web site, or on the local drive after they have been installed (default location is C:\Novell\NDK\samples\jldap_sample).

1.1.5 Debug Version

If you build your application with the debug version of the LDAP Classes for Java, you can specify debug options on your Java load line with the following:

 -Dldap.debug=[option]
 

Replace option with one of the following values:

Table 1-2 Debug Options

String Value

Description

TraceAll

Enables all debug tracing.

RawInput

Enables debug tracing of raw input.

rawOutput

Enables debug tracing of Raw output.

Referrals

Enables debug tracing of referral processing.

Messages

Enables debug tracing of message processing.

APIRequests

Enables debug tracing of API Requests.

BindSemaphore

Enables debug tracing of the bind semaphore.

Controls

Enables debug tracing of Controls.

ASN1

Enables debug tracing of ASN1 encode/decode.

Encoding

Enables debug tracing of BER Encoding.

Decoding

Enables debug tracing of BER Decoding.

Connections

Enables debug tracing of LDAP Connections.

UrlParse

Enables debug tracing of URL parsing.

DumpBuffer

Enables debug display of buffer dumps.

DumpObject

Enables debug display of object dumps.

DumpObjectHierarchy

Enables debug display of object hierarchy dumps.

DumpObjectConstructors

Enables debug display of object constructor dumps.

DumpObjectFields

Enables debug display of object field dumps.

DumpObjectMethods

Enables debug display of object methods dumps.

VMTraceInstructions

Enables VM instruction trace.

VMTraceMethodCalls

Enables display VM method calls.

TraceTLS

Enables display of TLS calls.

For example, specify the following to enable all debug tracing:

 -Dldap.debug=TraceAll