- 3 minutes to read

Schema Management with the Nodinite LDAP Web API

Schema introspection operations for LDAP directories using the Nodinite LDAP Web API. Query available classes and their attribute requirements.

Discovery: Get all available schema classes
Attribute Inspection: Query mandatory and optional attributes
Read-Only: Schema queries return results in SearchResult
Integration Support: Understand schema requirements programmatically

📌 Note: Version 1.0 of the LDAP Adapter has limited operations for LDAP Schemas. Please provide feature requests and use cases to support@integrationsoftware.se

Overview

Schema operations are available in the Operations section of the Schema record within the request message. These operations are read-only and do not require a With record for search criteria.


Operations Summary

Operation Description Parameters
GetAllClasses Retrieve all schema class names None
GetAllOptionalAttributes Get optional attributes for a class className
GetAllMandatoryAttributes Get mandatory attributes for a class className

GetAllClasses

The GetAllClasses operation returns the names of all classes in the LDAP schema.

Example: Retrieve all schema classes

<ns0:LDAP xmlns:ns0="http://integrationsoftware.se/BizTalk/Adapters/LDAP/Request/1.0">
  <Batches guid="2B25B9E6-4AF2-4094-9AE7-E1E4C99B6C8D" 
returnReponseMessageOnExceptions="true">
    <Batch guid="3B25B9E6-4AF2-4094-9AE7-E1E4C99B6C8E">      
        <Schema>          
          <Operations>
            <GetAllClasses/>
          </Operations>
        </Schema>
    </Batch>    
  </Batches>
</ns0:LDAP>

📌 Note: Since this is a read-only query, results are listed in the SearchResult record of the response message.


GetAllOptionalAttributes

The GetAllOptionalAttributes operation returns all optional attributes for a specified class.

Attributes

className (required)
The name of the LDAP schema class to query for optional attributes.

Example: Get optional attributes for the 'user' class

<ns0:LDAP xmlns:ns0="http://integrationsoftware.se/BizTalk/Adapters/LDAP/Request/1.0">
  <Batches guid="2B25B9E6-4AF2-4094-9AE7-E1E4C99B6C8D" 
returnReponseMessageOnExceptions="true">
    <Batch guid="3B25B9E6-4AF2-4094-9AE7-E1E4C99B6C8E">      
        <Schema>          
          <Operations>
            <GetAllOptionalAttributes className="user"/>
          </Operations>
        </Schema>
    </Batch>    
  </Batches>
</ns0:LDAP>

📌 Note: Results are listed in the SearchResult record and include all attributes that can be optionally set for the specified class.


GetAllMandatoryAttributes

The GetAllMandatoryAttributes operation returns all mandatory attributes for a specified class.

Attributes

className (required)
The name of the LDAP schema class to query for mandatory attributes.

Example: Get mandatory attributes for the 'user' class

<ns0:LDAP xmlns:ns0="http://integrationsoftware.se/BizTalk/Adapters/LDAP/Request/1.0">
  <Batches guid="2B25B9E6-4AF2-4094-9AE7-E1E4C99B6C8D" 
returnReponseMessageOnExceptions="true">
    <Batch guid="3B25B9E6-4AF2-4094-9AE7-E1E4C99B6C8E">      
        <Schema>          
          <Operations>
            <GetAllMandatoryAttributes className="user"/>
          </Operations>
        </Schema>
    </Batch>    
  </Batches>
</ns0:LDAP>

📌 Note: Results are listed in the SearchResult record and include all attributes that must be set when creating objects of the specified class.


Use Cases

Schema Discovery

Query GetAllClasses to discover what object types are available in your LDAP directory (user, group, organizationalUnit, contact, etc.).

Attribute Validation

Before creating or updating LDAP objects, query GetAllMandatoryAttributes to ensure you provide all required attributes and avoid operation failures.

Dynamic Forms

Use GetAllOptionalAttributes to build dynamic user interfaces that allow setting additional properties based on the schema definition.

Documentation & Compliance

Generate documentation of your LDAP schema structure by combining all three operations to create comprehensive attribute references.


Next Step