- 6 minutes to read

Response Schema

Unlock seamless integration and rapid development with the Nodinite LDAP Web API response schema. This schema ensures you receive predictable, developer-friendly data in both XML and JSON formats.

✅ Rely on a unified schema for both XML and JSON responses
✅ Integrate easily with BizTalk, custom code, and any platform
✅ Accelerate development with clear, pre-defined structures
✅ Avoid surprises—always know what data to expect

The Nodinite LDAP products always return data according to a pre-defined schema. You receive the schema in XSD format for XML messages, and the JSON structure follows the same definition. As a developer, you can easily use and validate these responses in your solutions.

Property Example value
File IS.BizTalk.Adapters.LDAP.Response_v1.0.xsd
Target Namespace http://integrationsoftware.se/BizTalk/Adapters/LDAP/Response/1.0
Root Node LDAP
BizTalk Message Type http://integrationsoftware.se/BizTalk/Adapters/LDAP/Response/1.0#LDAP

You do not need to install this schema in your BizTalk environment unless you create your own maps (.BTM files) or use custom-built pipelines/components that require it.

The root record is named LDAP, matching the Request schema structure. The Response message mirrors the Request structure but includes results, status information, and any data returned from operations.

Understanding the Response Structure

graph TD roLDAP["fa:fa-file-code LDAP (root)"] --> roBatches["fa:fa-layer-group Batches (guid)"] roLDAP --> roPass["fa:fa-share PassThruContent (optional)"] roBatches --> roBatch["fa:fa-box Batch (index, guid), 1..n"] roBatches --> roSummary["fa:fa-clipboard-list Summary"] roBatch --> roEntities["fa:fa-users Entities / Entity (name)"] roBatch --> roBatchSummary["fa:fa-clipboard-check BatchSummary"] roEntities --> roWith["fa:fa-magnifying-glass With (copy of the request)"] roEntities --> roOperation["fa:fa-gear Operations / Operation (index, name)"] roOperation --> roSearch["fa:fa-list SearchResult"] roOperation --> roResult["fa:fa-pen-to-square OperationResult"]

Diagram: the nesting of the Response message. Status is reported on three levels: per Operation, per Batch (BatchSummary), and for the whole message (Summary).

Batches

The Batches record carries the guid you sent in the request, and holds one Batch record per request batch plus one Summary record.

Batch

Each batch in the request is represented by a corresponding batch in the response message.

Attribute Type Description
index Integer The numeric index position of the returned batch
guid GUID The guid of the request batch, so you can correlate request batches with their responses

Batch record with the index attribute in the response message
Example: Batch record in the response message.

Entities

Each entity provided in the request batch is represented by a corresponding entity record in the response message.

The name attribute identifies the type of entity (User, Group, OrganizationalUnit, Schema, or AD).

Entity record with the name attribute in the response message
Example: an entity record identifies the entity type the batch worked on.

There can be any number of entity records in the response message, depending on the operations performed in the request.

With

The With record from the request (if provided) is copied to the corresponding With record in the response message. This helps you correlate the search criteria used with the results returned.

Operation

The Operation records are repeated in the Operations collection for each operation requested in the batch.

Operation record with index, name, and status elements
Example: one Operation record per requested operation, in request order.

The index attribute provides the position of the operation in the sequence.

The name attribute identifies the operation performed (e.g., Select, Create, Update, Delete, MoveTo).

Operation Status Information

Each operation includes additional information:

  • ReturnStatus

    The ReturnStatus element displays the status of the operation with one of these values:

    • NotExecuted - The operation was not performed (typically due to a previous error)
    • Success - The operation completed successfully
    • Warning - The operation completed but with warnings
    • Failed - The operation failed
  • ExecutionDuration

    The ExecutionDuration element displays the time in milliseconds the operation took to execute.

  • RecordsFoundCount

    The RecordsFoundCount element shows the number of records found (and presented in the SearchResult record) from the search query provided by the With part of the Request message.

Error and Warning Information

When operations fail or encounter issues, additional elements are included:

  • ExceptionMessage

    The ExceptionMessage element includes a short description of the exception (e.g., ex.Message).

  • ExceptionMessageExtended

    The ExceptionMessageExtended element contains detailed information about the exception (e.g., ex.ToString()), including stack traces for debugging.

  • Warnings

    The Warnings element contains information when an operation succeeded but the adapter signaled some anomaly or issue that should be reviewed.

Failed Operation record with ExceptionMessage and ExceptionMessageExtended
Example: a failed operation returns the exception details in the response instead of raising an error.

SearchResult

All objects found by the query are listed in the SearchResult record. The properties returned may be filtered based on the returnProperties attribute in the request (see Request Schema - returnProperties).

SearchResult record with properties and DirectoryEntries
Example: the objects found by the With query, listed in the SearchResult record.

If the selected object contains lists of child items, these are listed in the DirectoryEntries child record and may be repeated for different types of child items.

SearchResult Attributes

  • schemaClassName

    The schemaClassName attribute provides information about the type of object selected (e.g., user, group, organizationalUnit).

  • index

    The index attribute represents the position of the record in the result set.

  • name

    The name attribute provides the name given to the object in the LDAP directory.

Properties Collection

Each property of the object is listed in a name/value properties collection record. The property names correspond to LDAP attribute names, and values contain the data stored in those attributes.

Attribute Type Required Description
name String ✅ Yes The LDAP attribute name
value String ✅ Yes The attribute value
index Integer ❌ No The position of the value when the attribute holds several values
encoded Boolean ❌ No true when the value contained characters that aren't valid in XML and the adapter encoded it. Decode the value before you use it

OperationResult

If the operation performed any action (Create, Update, Delete), the affected record is listed in the OperationResult record.

OperationResult record showing the object after the operation
Example: the state of the affected object after a Create, Update, or Delete operation.

The OperationResult structure is similar to SearchResult, showing the state of the object after the operation completed. This provides traceability and allows you to verify that changes were applied correctly.

BatchSummary

Each Batch ends with a BatchSummary record:

Element Type Description
ReturnStatus NotExecuted, Success, Warning, Failed The overall status of the batch
ExecutionDuration Integer The time in milliseconds the batch took to execute
PartialExecution Boolean true when only some of the batch operations ran, for example after a failure
UsedCustomSearchFilter Boolean true when a With record in the batch used a searchFilter

Summary

The Summary record, inside Batches, describes the whole request:

Element Type Description
LicenseInformation String Information about the licensed customer (optional)
ReturnStatus NotExecuted, Success, Warning, Failed The overall status of the request
ExecutionDuration Integer The time in milliseconds the request took to execute
ExecutionDateTime DateTime When the request was executed
DsaServerName String The directory server (DSA) the request ran against
DsaPort Integer The port used to connect to the directory server
AuthenticationType String The authentication type used for the connection
ExceptionMessage String A short description of the exception (optional)
ExceptionMessageExtended String Full details about the exception(s) (optional)

Tip

Check Summary/ReturnStatus first. Drill down to BatchSummary and the Operation records only when it isn't Success.

PassThruContent

If the request contained a PassThruContent record, the response returns the same content unchanged in its own PassThruContent record. See Request Schema - PassThruContent.

Next Steps