Операция Add
Операция Add позволяет клиенту запросить добавление записи в Каталог. AddRequest определяется следующим образом:
AddRequest ::= [APPLICATION 8] SEQUENCE { entry LDAPDN, attributes AttributeList } AttributeList ::= SEQUENCE OF SEQUENCE { type AttributeDescription, vals SET OF AttributeValue }
Параметрами AddRequest являются:
- Entry: полное уникальное имя добавляемой записи. Заметим, что сервер не определяет никаких aliases при размещении добавляемой записи.
- Attributes: список атрибутов, которые определяют содержание добавляемой записи. Клиенты должны включать в этот список полные значения (которые формируют собственный RDN записи), атрибут objectClass и значения всех обязательных атрибутов перечисленных классов объектов. Клиенты не должны указывать NO-USER-MODIFICATION атрибуты, такие как createTimestamp или creatorName атрибуты, так как сервер поддерживает их автоматически.
Запись, указанная в поле AddRequest, существовать не должна. Непосредственный родитель добавляемых записей объекта должен существовать. Например, если клиент пытается добавить CN=JS, DC=Example, DC=NET, а запись DC=Example, DC=NET не существует и запись DC=NET существует, то сервер вернет ошибку noSuchObject с полем matchedDN, содержащим DC=NET. Если родительская запись существует, но не находится в контексте именования, поддерживаемом сервером, сервер должен возвратить ссылку на сервер, содержащий родительскую запись.
При получении AddRequest сервер пытается добавить запрошенную запись. Результат попытки добавления будет возвращен клиенту в AddResponse, определенном следующим образом:
AddResponse ::= [APPLICATION 9] LDAPResult
Успешный ответ указывает на то, что новая запись добавлена в Каталог.