- 4 minutes to read

Developing solutions for the Nodinite LDAP Web API

Unlock powerful, flexible LDAP integration with the Nodinite LDAP Web API. This guide empowers developers, administrators, and architects to design, build, and test robust, traceable solutions for any integration scenario.

✅ Integrate with any platform or custom code (Java, C#, node.js, BizTalk, Mule ESB)
✅ Use batch operations and upsert patterns for efficiency
✅ Synchronize master data and LDAP assets across systems
✅ Simplify error handling and orchestration with built-in features

Code or system integration platform? All options are supported!

This guide targets developers and administrators, while solution and integration architects learn how to design traceable LDAP solutions and explore common use cases that Nodinite LDAP products support.

Nodinite LDAP products enable you to build application integration solutions using custom code (Java, C#, node.js) or integration platforms like Mule ESB or Microsoft BizTalk Server. You must know how to develop, test, and deploy solutions on your chosen technology.

Introduction

Nodinite LDAP products solve many typical problems you encounter when working with LDAP catalog services. Active Directory can be especially tricky, often returning unclear error codes due to its interop/COM legacy.

You will find the LDAP Adapter for BizTalk very easy to use for both development and advanced LDAP application integration scenarios. These solutions let you synchronize master data, accounts, and LDAP assets across systems and organizations.

A common use case is an insert when the object already exists. Normally, you perform a request operation, evaluate the result, and then conditionally perform the insert or update. This scenario may require orchestration or complex coding. With the LDAP Adapter, you can still develop, design, and run your LDAP-enabled solutions this way. However, the batch-oriented operation model lets you send two batches: the first with an insert, the second with an update. You can allow the first batch to fail and still proceed by providing the continueOnError parameter. This solution pattern is known as an upsert.

You can further simplify integration by sending multiple operations in one batch:

  • 1st batch – Create a new OU (for a new department); allow this batch to fail if the OU already exists
  • 2nd batch – Create a user with valid attributes; allow failure if needed
  • 3rd batch – Add the user to one or more groups from different parts of the LDAP tree
  • 4th batch – Select all users in a group beginning with "adm*" (note: multiple operations in the same batch)

Batches
Diagram: Example of batch operations for LDAP integration in Nodinite.

You send all these operations in one message, and the response message returns all search and operational results for each operation. In this example, the response contains three returning batches with search and operational results for four operations in total.

How it works

Nodinite LDAP products perform operations (read/write) using either a JSON or XML-based message. As the caller (client), you should accept and use the response, even though one-way operations are supported. Managing the response lets you validate that the operation succeeded. If you use Logging, you gain even better traceability and tools for troubleshooting.
Request Response
Diagram: Request and response flow for LDAP operations in Nodinite.

Request

At a high level, the Request is a message with a collection of batches. Each batch contains one or more operations. The operations are predefined, making it easy to code your intended logic.

The Request has two parameters:

  • Connection ID (a GUID) that exists in the Configuration file appsettings.json
  • A payload with a collection of LDAP statements (batches), either XML or JSON

Response

At a high level, the Response returns data based on a predefined schema. You always know what is being returned.

Some ByteArray properties (for example, in Active Directory) are not human-readable (due to byte array representation). In both Swagger and the Windows Forms client utility, helper methods exist to convert to and from base64.

Users

You can learn more about managing users in the User Management guide.

Groups

You can learn more about managing groups in the Group Management guide.

Schemas

You can learn more about managing the schema in the Schema Management guide.

Organization Units (OU)

You can learn more about managing Organizational Units (OUs) in the OU Management guide.

You can learn more about managing Active Directory in the AD Management guide.

LDAP Browsers and Editors

You can use many great LDAP/AD editors and browsers. We recommend the following:

Apache Directory Studio

Free, open-source Java-based tool: Apache Directory Studio

To install Apache Directory Studio, you need the Java JRE run-time. Make sure you use Open JDK.

JRE Missing
Example: Error message when the JRE is missing.

LDAPAdmin

Ldap Admin is a free Windows LDAP client and administration tool for LDAP directory management. This application lets you browse, search, modify, create, and delete objects on an LDAP server.

Next Step