Схема интерфейса (wsdl) сервиса предоставления информации о медицинских работниках (HC Professional Registry Service – Feed) приведена в
Входная информация Входной информацией является пакетный запрос BatchRequest (состоит из одного или нескольких элементов запроса) от Источника информации о медицинских работниках.
Формат пакетного запроса BatchRequest приведен в 1.
Обработка Обобщенная диаграмма последовательности приведена на рисунке 4.

Рисунок 4. Диаграмма последовательности
Сценарий использования:
Источник информации о медицинских работниках (HC Professional Information Source) отправляет сведения о специалистах здравоохранения в Регистр медицинских работников (HC Professional Registry) (1.0); Регистр медицинских работников (HC Professional Registry) обрабатывает запрос (1.1); Регистр медицинских работников (HC Professional Registry) отправляет подтверждение о получении сведений о новом специалисте здравоохранения, об изменении данных или удалении записи специалиста здравоохранения Источнику информации о медицинских работниках (HC Professional Information Source) (1.2) Альтернативный сценарий 2а. Во время обработки запроса произошла ошибка:
Регистр медицинских работников (HC Professional Registry) формирует сообщение, содержащее сведения о возникшей ошибке; Регистр медицинских работников (HC Professional Registry) отправляет сведения о возникшей ошибке Источнику информации о медицинских работниках (HC Professional Information Source). Каждый выполняемый запрос и ответ в рамках варианта использования «DSML. UC-4. Сервис предоставления информации о медицинских работниках (HC Professional Registry Service – Feed) должен сопровождаться отправкой сообщений аудита (Audit message) в Журнал регистрации событий в соответствии c требованиями транзакции ITI-20 «Записать в журнал событий» (Record Audit Event) профиля IHE ATNA [RF-6]. Структура сообщений аудита приведена в приложении Г.
Выходная информация Выходной информацией является пакетный ответ на запрос BatchResponse (состоит из одного или нескольких элементов ответа на запрос).
Формат пакетного ответа на запрос BatchResponse приведен в 2.
Требования к производительности Время отклика сервисов регистра организаций здравоохранения и регистра медицинских работников должно быть не более 3-5 секунд, для не менее 80% запросов (при скорости канала 1 Мб/с и времени отклика не более 100 мс).
Ограничения проекта Соответствие стандартам Обмен информацией должен осуществляться в соответствии с рекомендациями спецификации «Directory Services Markup Language v2.0» [RF-4]. В соответствии со спецификацией «Directory Services Markup Language v2.0» [RF-4] должно использоваться пространство имен - «oasis:names:tc:DSML:2:0:core». Это пространство имен должно использоваться для элементов верхнего уровня <body> (тело документа) каждого SOAP запроса и ответа. Когда возникает ошибка, которая выходит за рамки спецификации «Directory Services Markup Language v2.0» [RF-4], должна инициироваться ошибка «SOAP Fault».
Для организации информационного взаимодействия должны применяться веб-сервисы, использующие формат XML, как язык описания информации и спецификацию SOAP (Simple Object Access Protocol). Все SOAP запросы и ответы должны использовать кодировку UTF-8.
Для описания программных интерфейсов, предоставляемых веб-сервисами, должен использоваться язык описания WSDL (Web Services Description Language).
СУБД должна поддерживать Unicode (UTF-8).
Ограничения на аппаратное обеспечение Аппаратное обеспечение должно соответствовать требованиям раздела « Требования к техническому обеспечению» Технического задания на Платформу [RF-3].
Атрибуты Безопасность Должна быть обеспечена защита данных от потери, изменения, уничтожения и несанкционированного доступа.
Должны быть предусмотрены средства защиты информации от несанкционированного доступа, такие как:
механизм аутентификации и авторизации пользователя; средства разграничения прав доступа пользователей; протоколирование работы пользователей, должен вестись журнал для регистрации событий информационной безопасности (попытки несанкционированного доступа к информации и их результаты, запросы авторизованных пользователей и ответы на них, и другое); защита информации от изменения/повреждения неавторизованными пользователями.
Масштабируемость Должна быть обеспечена возможность наращивания объемов хранимой и обрабатываемой информации, а также увеличения числа обслуживаемых пользователей без существенного снижения эксплуатационных характеристик при соответствующем наращивании аппаратных ресурсов.
Локализация Должна быть обеспечена поддержка государственного и русского языков, параметров локализации для РК, непосредственно связанных с функционированием сервисов: формат даты и времени, чисел, система мер и прочего.
Требования к внешним интерфейсам Интерфейс с пользователем Должна быть обеспечена корректная обработка ситуаций, вызванных неверными действиями пользователей, неверным форматом или недопустимыми значениями входных данных.
Интерфейс с аппаратным обеспечением Особых требований к интерфейсу с аппаратным обеспечением не предусмотрено.
Интерфейс с программным обеспечением Программное обеспечение должно функционировать под управлением серверной операционной системы семейства Windows или UNIX.
Должна использоваться реляционная СУБД, которая должна поддерживать не менее чем следующие стандартные механизмы взаимодействия программного обеспечения с СУБД: JDBC, , ODBC.
Коммуникационные интерфейсы Для передачи данных должен использоваться транспортный протокол TCP, протокол прикладного уровня HTTPS, а также стек протоколов и стандартов веб-сервисов WSDL/SOAP.
Другие требования База данных Применяемая СУБД должна быть предназначена для обеспечения надежного хранения информации. СУБД должна иметь инструменты для управления ролями, авторизации, аутентификации, управления учетными записями пользователей, ролями приложений.
СУБД должна иметь инструменты конфиденциальности данных: аудит операций создания, чтения, обновления и удаления данных (CRUD), шифрование данных и индексов, шифрование для сохраненных и передаваемых данных (с поддержкой протоколов SSL / TLS).
СУБД должна быть реляционной и должна поддерживать реляционную модель.
Версия СУБД должна быть не менее чем EnterpriseEdition.
Функционирование Должны поддерживаться следующие режимы функционирования:
Основной режим, в котором компоненты программного обеспечения выполняют все свои функции, соответственно программное обеспечение находится в штатном режиме работы и предоставляет пользователям всю доступную функциональность; Профилактический режим, в котором должны обрабатываться ситуации, требующие вмешательства обслуживающего персонала в работу программного обеспечения в целом либо же в отдельные его составляющие компоненты.
К профилактическому режиму относятся следующие ситуации:
проведение плановых профилактических работ по организации обеспечения бесперебойной работы в целом; проведение внеплановых работ по устранению сбоев и ошибок в работе программного и технического обеспечения.
Требования по адаптации к местоположению Особых условий установки и эксплуатации, зависящих о местоположения программного обеспечения не предусмотрено.
писание типов данных
Schema DSMLv2.xsd
Пространство имен:
| urn:oasis:names:tc:DSML:2:0:core
|
A.1 Элемент batchRequest
Тип
| BatchRequest
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Значение по умолчанию
| Описание
| @requestID
| RequestID
| Опционально
| -
| Уникальный идентификатор запроса
| @processing
| xsd:string
| Опционально
| sequential
| Сведения об обработке. Может принимать значения:
sequential (последовательно); parallel (параллельно).
| @responseOrder
| xsd:string
| Опционально
| sequential
| Сведения о порядке формирования ответа на запрос. Может принимать значения:
sequential (последовательно); unordered (произвольный порядок).
| @onError
| xsd:string
| Опционально
| exit
| Сведения о действиях в случае ошибки. Может принимать значения:
resume (выполнение продолжить); exit (выполнение прервать).
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| authRequest
| AuthRequest
| 0..1
| Запрос на авторизацию
| BatchRequests
| группа элементов BatchRequests
| 0..*
| Пакетный запрос
|
|
A.1.1. Группа элементов BatchRequests
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Дочерние элементы
| Наименование
| Тип
| Описание
| searchRequest
| SearchRequest
| Операция searchRequest используется для того, чтобы запросить сервер вернуть (после проверки контроля доступа и других ограничений) набор записей, соответствующих комплексному критерию поиска. Она может быть использована для получения атрибутов единственной записи, записей, непосредственно подчинённых какой-либо конкретной записи, либо всего поддерева записей.
| modifyRequest
| ModifyRequest
| Операция модификации modifyRequest позволяет клиенту запросить, чтобы сервер выполнил модификацию записи от его имени.
| addRequest
| AddRequest
| Операция addRequest позволяет клиенту запросить добавление записи в каталог.
| Следующие DSML-операции не используются и не реализованы в описанных интерфейсах DSML
| delRequest
| DelRequest
| Операция delRequest позволяет клиенту запросить удаление записи из каталога.
| modDNRequest
| ModifyDNRequest
| Операция modDNRequest позволяет клиенту изменить относительное уникальное имя записи в каталоге и/или переместить поддерево записей в новое местоположение в каталоге.
| compareRequest
| CompareRequest
| Операция compareRequest позволяет клиенту сравнить значение утверждения со значениями конкретного атрибута конкретной записи в каталоге.
| abandonRequest
| AbandonRequest
| Операция abandonRequest позволяет клиенту запросить сервер отказаться от выполнения незавершённой операции.
| extendedRequest
| ExtendedRequest
| Операция extendedRequest позволяет клиентам выполнять запросы и получать ответы с предопределёнными синтаксисами и семантиками. Эти синтаксисы и семантики могут быть определены в RFC, либо определяться в частном порядке для конкретных реализаций.
|
Множественность – выбирается (choice) только один из элементов.
|
A.2. Элемент batchResponse
Тип
| BatchResponse
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @requestID
| RequestID
| Опционально
| Уникальный идентификатор запроса
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| BatchResponses
| группа элементов BatchResponses
| 0..*
| Пакетный ответ на запрос
|
|
A.2.1. Группа элементов BatchResponses
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Дочерние элементы
| Наименование
| Тип
| Описание
| searchResponse
| SearchResponse
| Ответ на запрос поиска объекта.
| modifyResponse
| LDAPResult
| Ответ на запрос изменения объекта.
| addResponse
| LDAPResult
| Ответ на запрос добавления объекта.
| Следующие DSML-операции не используются и не реализованы в описанных интерфейсах DSML
| authResponse
| LDAPResult
| Ответ на запрос авторизации
| delResponse
| LDAPResult
| Ответ на запрос удаления объекта.
| modDNResponse
| LDAPResult
| Ответ на запрос изменения уникального имени записи каталога.
| compareResponse
| LDAPResult
| Ответ на запрос сравнения значения.
| extendedResponse
| ExtendedResponse
| Ответ на запрос расширения с предопределёнными синтаксисами и семантиками.
| errorResponse
| ErrorResponse
| Сообщение об ошибке.
|
Множественность – выбирается (choice) только один из элементов.
|
A.3. Комплексный тип DsmlMessage
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @requestID
| RequestID
| Опционально
| Уникальный идентификатор запроса
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| control
| Control
| 0..*
| Элементы управления
|
|
A.4. Комплексный тип AuthRequest
Базовый тип
| DsmlMessage
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @requestID
| RequestID
| Опционально
| Уникальный идентификатор запроса
| @principal
| xsd:string
| Обязательно
| Сведения об участнике авторизации
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| control
| Control
| 0..*
| Элементы управления
|
|
A.5. Комплексный тип SearchRequest
Базовый тип
| DsmlMessage
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязатель-ность
| Значение по умолчанию
| Описание
| @requestID
| RequestID
| Опционально
| -
| Уникальный идентификатор запроса.
| @dn
| DsmlDN
| Обязательно
| -
| Имя (Distinguished Name) запрашиваемого объекта.
| @scope
| xsd:string
| Обязательно
| -
| Указывает диапазон поиска. Может принимать значения:
baseObject (только базовый объект); singleLevel (в рамках одного уровня иерархии); wholeSubtree (все поддерево элементов).
| @derefAliases
| xsd:string
| Обязательно
| -
| Индикатор того, должны или нет записи-псевдонимы разыменовываться в процессе поиска. Может принимать значения:
neverDerefAliases (не разименовывать); derefInSearching (разименовывать использованные при поиске объекты); derefFindingBaseObj (разименовывать найденные базовые объекты); derefAlways (разименовывать для всех).
| @sizeLimit
| MAXINT
| Опционально
| 0
| Ограничение по размеру, устанавливающее максимальное количество записей, которое будет возвращено в качестве результата поиска. Значение ноль в этом поле означает, что ограничения на количество возвращаемых записей отсутствует.
Сервер может принудительно установить максимальное количество записей, которое он будет возвращать.
| @timeLimit
| MAXINT
| Опционально
| 0
| Ограничение по времени, устанавливающее максимальное время (в секундах), которое отводится на выполнение операции поиска. Значение ноль в этом поле означает, что ограничения по времени отсутствуют.
Сервер может принудительно установить максимальное время выполнения операции.
| @typesOnly
| xsd:boolen
| Опционально
| false (ложь)
| Индикатор того, должны ли результаты поиска содержать описания атрибутов и значения, либо только описания атрибутов. Установка этого поля в true (истина) приведёт к возврату только описаний атрибутов (без значений). Установка этого поля в false (ложь) приведёт к возврату и описаний атрибутов, и значений.
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| control
| Control
| 0..*
| Элементы управления.
| filter
| Filter
| 1..1
| Фильтр, определяющий условия, которые должны быть соблюдены для того, чтобы операция поиска привела к нахождению требуемых записей.
| attributes
| AttributeDescriptions
| 0..1
| Список атрибутов, которые должны быть возвращены для каждой записи, соответствующей поисковому фильтру. Атрибуты, которые являются подтипами перечисленных атрибутов, также неявно включаются в этот список.
|
|
A.6. Комплексный тип ModifyRequest
Базовый тип
| DsmlMessage
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @requestID
| RequestID
| Опционально
| Уникальный идентификатор запроса
| @dn
| DsmlDN
| Обязательно
| Имя (Distinguished Name) запрашиваемого объекта.
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| control
| Control
| 0..*
| Элементы управления.
| modification
| DsmlModification
| 0..*
| Объект, который определяет список изменений атрибутов
|
|
A.7. Комплексный тип AddRequest
Базовый тип
| DsmlMessage
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @requestID
| RequestID
| Опционально
| Уникальный идентификатор запроса
| @dn
| DsmlDN
| Обязательно
| Имя (Distinguished Name) запрашиваемого объекта.
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| control
| Control
| 0..*
| Элементы управления.
| attr
| DsmlAttr
| 0..*
| Атрибуты-значения для объекта.
|
|
A.8. Комплексный тип DelRequest
Базовый тип
| DsmlMessage
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @requestID
| RequestID
| Опционально
| Уникальный идентификатор запроса
| @dn
| DsmlDN
| Обязательно
| Имя (Distinguished Name) запрашиваемого объекта.
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| control
| Control
| 0..*
| Элементы управления.
|
|
A.9. Комплексный тип ModifyDNRequest
Базовый тип
| DsmlMessage
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Значение по умолчанию
| Описание
| @requestID
| RequestID
| Опционально
| -
| Уникальный идентификатор запроса
| @dn
| DsmlDN
| Обязательно
| -
| Имя (Distinguished Name) запрашиваемого объекта.
| @newrdn
| DsmlRDN
| Обязательно
| -
| Новое имя записи в каталоге
| @deleteoldrdn
| xsd:boolean
| Опционально
| true (истина)
| Признак удаления старого имени записи.
По умолчанию значение – true (истина).
| @newSuperior
| DsmlDN
| Опционально
| -
| Новое местоположение в каталоге
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| control
| Control
| 0..*
| Элементы управления.
|
|
A.10. Комплексный тип CompareRequest
Базовый тип
| DsmlMessage
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @requestID
| RequestID
| Опционально
| Уникальный идентификатор запроса
| @dn
| DsmlDN
| Обязательно
| Имя (Distinguished Name) запрашиваемого объекта.
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| control
| Control
| 0..*
| Элементы управления.
| assertion
| AttributeValueAssertion
| 1..1
| Значение атрибута, используемое для сравнения.
|
|
A.11. Комплексный тип AbandonRequest
Базовый тип
| DsmlMessage
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @requestID
| RequestID
| Опционально
| Уникальный идентификатор запроса
| @abandonID
| RequestID
| Обязательно
| Идентификатор отказа
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| control
| Control
| 0..*
| Элементы управления.
|
|
A.12. Комплексный тип ExtendedRequest
Базовый тип
| DsmlMessage
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @requestID
| RequestID
| Опционально
| Уникальный идентификатор запроса
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| control
| Control
| 0..*
| Элементы управления.
| requestName
| NumericOID
| 1..1
| Содержится точечно-цифровое представление соответствующего запросу уникального идентификатора объекта (OBJECT IDENTIFIER)..
| requestValue
| xsd:anyType
| 0..1
| Содержится информация, форма которой определяется этим запросом, инкапсулированная в строку октетов (OCTET STRING).
|
|
A.13. Комплексный тип SearchResponse
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @requestID
| RequestID
| Опционально
| Уникальный идентификатор запроса
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| searchResultEntry
| SearchResultEntry
| 0..*
| Содержит объекты, возвращаемые в результате запроса.
| searchResultReference
| SearchResultReference
| 0..*
| Представляет структуру данных для представления результатов поиска в форме ссылок LDAP.
| searchResultDone
| LDAPResult
| 1..1
| Результаты поиска
|
|
A.14. Комплексный тип LDAPResult
Базовый тип
| DsmlMessage
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @requestID
| RequestID
| Опционально
| Уникальный идентификатор запроса
| @matchedDN
| DsmlDN
| Опционально
| Содержит соответствующее запросу имя (Distinguished Name) запрашиваемого объекта, возвращаемое сервером.
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| control
| Control
| 0..*
| Элементы управления.
| resultCode
| ResultCode
| 1..1
| Содержит код результата операции.
| errorMessage
| xsd:string
| 0..1
| Содержит сообщение об ошибке, если таковые имеются, для выполнения этой операции.
| referral
| xsd:anyURI
| 0..*
| Указывает на то, что для выполнения операции необходимо проследовать по ссылке. Запрашиваемый сервер не может или не желает исполнять операцию, и что один или несколько других серверов могут быть в состоянии это сделать.
|
|
A.15. Комплексный тип ExtendedResponse
Базовый тип
| LDAPResult
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @requestID
| RequestID
| Опционально
| Уникальный идентификатор запроса
| @matchedDN
| DsmlDN
| Опционально
| Содержит соответствующее запросу имя (Distinguished Name) запрашиваемого объекта, возвращаемое сервером.
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| control
| Control
| 0..*
| Элементы управления.
| resultCode
| ResultCode
| 1..1
| Содержит код результата операции.
| errorMessage
| xsd:string
| 0..1
| Содержит сообщение об ошибке, если таковые имеются, для выполнения этой операции.
| referral
| xsd:anyURI
| 0..*
| Указывает на то, что для выполнения операции необходимо проследовать по ссылке. Запрашиваемый сервер не может или не желает исполнять операцию, и что один или несколько других серверов могут быть в состоянии это сделать.
| responseName
| NumericOID
| 0..1
| Содержит идентификатор LDAP (LDAPOID).
| response
| xsd:anyType
| 0..1
| Ответ на запрос.
|
|
A.16. Комплексный тип ErrorResponse
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @requestID
| RequestID
| Опционально
| Уникальный идентификатор запроса
| @type
| xsd:string
| Опционально
| Тип ошибки. Может принимать значение:
notAttempted (не выполнено); couldNotConnect (отсутствует соединение); connectionClosed (соединение прервано); malformedRequest (неправильный запрос); gatewayInternalError (внутренняя ошибка шлюза); authenticationFailed (аутентификация не пройдена); unresolvableURI (некорректный URI); other (прочие ошибки).
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| message
| xsd:string
| 0..1
| Сообщение об ошибке
| detail
| xsd:any
| 0..1
| Детали (подробности) об ошибке
|
|
A.17. Комплексный тип Control
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязатель-ность
| Значение по умолчанию
| Описание
| @type
| NumericOID
| Обязательно
| -
| Представляет собой точечно-цифровое представление идентификатора объекта (OBJECT IDENTIFIER), уникально идентифицирующего данный элемент управления. Таким образом, обеспечивается однозначность именования элементов управления. Часто элемент (элементы) управления ответа, предоставляемые в ответ на элемент управления запроса, разделяют с этим элементом управления запроса значения данного атрибута.
| @criticality
| xsd:boolean
| Опционально
| false (ложь)
| Обработка атрибута выполняется следующим образом:
Если сервер не распознаёт тип элемента управления, определяет, что тот не соответствует выполняемой операции, или по какой-то другой причине не желает исполнять операцию с элементом управления, и если поле criticality установлено в true (истина), сервер не должен выполнять эту операцию и, для операций, у которых есть ответное сообщение, он должен вернуть сообщение с результирующим кодом resultCode, установленным в unavailableCriticalExtension. Если сервер не распознаёт тип элемента управления, определяет, что тот не соответствует выполняемой операции, или по какой-то другой причине не желает исполнять операцию с элементом управления, и если поле criticality установлено в false (ложь), сервер должен проигнорировать этот элемент управления. Независимо от критичности, если элемент управления применяется к операции, он применяется последовательно и без исключений ко всей операции целиком.
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| controlValue
| xsd:anyType
| 0..1
| Может содержать информацию, связанную с атрибутом @type. Формат этого поля определяется спецификацией элемента управления. Представляет собою строку произвольного содержимого, в том числе нулевой длины. Это поле отсутствует только в случае, когда с элементом управления определённого типа не связано никакой информации в виде значения.
|
|
A.18. Комплексный тип Filter
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| FilterGroup
| группа элементов FilterGroup
| 1..1
| Предикат фильтрации
|
|
A.18.1. Группа элементов FilterGroup
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Дочерние элементы
| Наименование
| Тип
| Описание
| and
| FilterSet
| Логическое «и»
| or
| FilterSet
| Логическое «или»
| not
| Filter
| Логическое «не»
| equalityMatch
| AttributeValueAssertion
| Точное соответствие. Фильтр оценивается как true (истина), когда сравнение (точное соответствие) при применении его к типу или подтипу атрибута и заявленному значению, возвращает true (истина).
| approxMatch
| AttributeValueAssertion
| Приблизительное соответствие. Фильтр approxMatch оценивается как true (истина), когда присутствует значение типа или подтипа атрибута, для которого некоторый локально определённый алгоритм нахождения приблизительного соответствия (например, по вариантам написания, по фонетическому соответствию, и т. п.) возвращает true (истина). Если для атрибута не поддерживается нахождение приблизительного соответствия, этот пункт фильтра должен интерпретироваться как equalityMatch.
| Следующие элементы не используются в описанных интерфейсах DSML
| substrings
| SubstringFilter
| Вхождение подстроки.
| greaterOrEqual
| AttributeValueAssertion
| Больше или равно
| lessOrEqual
| AttributeValueAssertion
| Меньше или равно
| present
| AttributeDescription
| Фильтр present оценивается как true (истина), когда в записи присутствует тип или подтип атрибута, соответствующий указанному описанию типа атрибута; и как false (ложь), когда в записи не присутствует тип или подтип атрибута, соответствующий указанному описанию типа атрибута, в противном случае такой фильтр оценивается как undefined (неопределенно).
| extensibleMatch
| MatchingRuleAssertion
| Используется для идентификации совпадающих записей с использованием указанного правила сравнения (matchingRule)
|
Множественность – выбирается (choice) только один из элементов.
|
A.19. Комплексный тип AttributeDescriptions
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| attribute
| AttributeDescription
| 0..*
| Описание атрибута
|
|
A.20. Комплексный тип AttributeDescription
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @name
| AttributeDescriptionValue
| Обязательно
| Содержит описание атрибута и правило соответствия (RFC 4512 [RF-5], раздел 4.1.3), подходящее для данного типа атрибута.
|
|
A.21. Комплексный тип DsmlModification
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @name
| AttributeDescriptionValue
| Обязательно
| Содержит описание атрибута и правило соответствия (RFC 4512 [RF-5], раздел 4.1.3), подходящее для данного типа атрибута.
| @operation
| xsd:string
| Обязательно
| Используется для указания типа выполняемой модификации. Значения этого поля имеют следующие семантики (соответственно):
add (добавить перечисленные значения к атрибуту, при необходимости создать этот атрибут); delete (удалить перечисленные значения из атрибута. Если не было перечислено никаких значений или если были перечислены все текущие значения данного атрибута, атрибут удаляется полностью); replace (заменить все существующие значения атрибута на новые (перечисленные), создать атрибут, если его ещё не существовало. В случае если новые значения не были перечислены, замена сводится к удалению атрибута целиком, если он существует, и к игнорированию операции, если он не существует).
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| value
| DsmlValue
| 0..*
| Значение атрибута
|
|
A.21. Комплексный тип DsmlAttr
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @name
| AttributeDescriptionValue
| Обязательно
| Содержит описание атрибута и правило соответствия (RFC 4512 [RF-5], раздел 4.1.3), подходящее для данного типа атрибута.
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| value
| DsmlValue
| 0..*
| Значение атрибута
|
|
A.22. Комплексный тип AttributeValueAssertion
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @name
| AttributeDescriptionValue
| Обязательно
| Содержит описание атрибута и правило соответствия (RFC 4512 [RF-5], раздел 4.1.3), подходящее для данного типа атрибута.
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| value
| DsmlValue
| 0..*
| Значение атрибута
|
|
A.23. Комплексный тип SearchResultEntry
Базовый тип
| DsmlMessage
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @requestID
| RequestID
| Опционально
| Уникальный идентификатор запроса
| @dn
| DsmlDN
| Обязательно
| Имя (Distinguished Name) запрашиваемого объекта.
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| control
| Control
| 0..*
| Элементы управления.
| attr
| DsmlAttr
| 0..*
| Атрибуты-значения для объекта
|
|
A.24. Комплексный тип SearchResultReference
Базовый тип
| DsmlMessage
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @requestID
| RequestID
| Опционально
| Уникальный идентификатор запроса
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| control
| Control
| 0..*
| Элементы управления.
| ref
| xsd:anyURI
| 1..*
| Ссылка на результат поиска
|
|
A.25. Комплексный тип ResultCode
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @code
| xsd:int
| Обязательно
| Код
| @descr
| LDAPResultCode
| Опционально
| Используется для возврата индикации успешного или неудачного завершения операции от сервера клиенту. На различные запросы сервер будет возвращать ответы для индикации финального статуса запроса.
|
|
A.26. Комплексный тип FilterSet
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| FilterGroup
| группа элементов FilterGroup
| 0..*
| Предикат фильтрации
|
|
A.27. Комплексный тип SubstringFilter (не используется в описаных интерфейсах DSML).
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязательность
| Описание
| @name
| AttributeDescriptionValue
| Обязательно
| Содержит описание атрибута и правило соответствия (RFC 4512 [RF-5], раздел 4.1.3), подходящее для данного типа атрибута.
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| initial
| DsmlValue
| 0..1
| Первый элемент последовательности
| any
| DsmlValue
| 0..*
| Любой элемент последовательности
| final
| DsmlValue
| 0..1
| Последний элемент последовательности
|
|
A.28. Комплексный тип MatchingRuleAssertion
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Атрибуты
| Наименование
| Тип
| Обязатель-ность
| Значение по умолчанию
| Описание
| @dnAttributes
| xsd:boolean
| Опционально
| false (ложь)
| Атрибуты
| @matchingRule
| xsd:string
| Опционально
| -
| Правило соответствия
| @name
| AttributeDescriptionValue
| Опционально
| -
| Содержит описание атрибута и правило соответствия (RFC 4512 [RF-5], раздел 4.1.3), подходящее для данного типа атрибута.
|
|
Дочерние элементы
| Наименование
| Тип
| Множественность
| Описание
| value
| DsmlValue
| 1..1
| Значение
|
|
A .29. Простой тип AttributeDescriptionValue
Тип
| xsd:string
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Ограничения
| Значение должно удовлетворять следующему шаблону:
((([0-2](\.[0-9]+)+)|([a-zA-Z]+([a-zA-Z0-9]|[-])*))(;([a-zA-Z0-9]|[-])+)*)
|
A.30. Простой тип DsmlDN
Тип
| xsd:string
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
A.31. Простой тип DsmlRDN
Тип
| xsd:string
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
A.32. Простой тип DsmlValue
Допустимые типы
| xsd:string
xsd:base64Binary
xsd:anyURI
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
A.33. Простой тип LDAPResultCode
Тип
| xsd:string
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Возможные значения
| Наименование
| Описание
| success
| Указывает на успешное выполнение операции.
(Примечание: этот код не используется с операцией Compare)
| operationsError
| Указывает на то, что операция нарушает последовательность выполнения по отношению к другим операциям (того же или другого типа).
| protocolError
| Указывает на то, что сервер получил неправильно сформированные данные.
Применительно к операции Extended этот код также используется для указания на то, что сервер не поддерживает (в силу конструктивных особенностей или текущих настроек) ассоциированную с полем requestName операцию-расширение.
Применительно к запросам операций с указанием нескольких элементов управления, этот код может использоваться для индикации того, что сервер не может игнорировать порядок, в котором указаны эти элементы управления, либо того, что комбинация указанных элементов управления неверна или не определена.
| timeLimitExceeded
| Указывает на то, что определённое клиентом ограничение по времени было превышено до завершения операции.
| sizeLimitExceeded
| Указывает на то, что определённое клиентом ограничение по размеру было превышено до завершения операции.
| compareFalse
| Указывает на то, что операция Compare успешно выполнена и утверждение оценено как ложь (false) или неопределенно (undefined).
| compareTrue
| Указывает на то, что операция Compare успешно выполнена и утверждение оценено как истина (true).
| authMethodNotSupported
| Указывает на то, что метод или механизм аутентификации не поддерживается.
| strongAuthRequired
| Указывает, что для выполнения операции сервер требует более строгой аутентификации.
| referral
| Указывает на то, что для выполнения операции необходимо проследовать по ссылке. Запрашиваемый сервер не может или не желает исполнять операцию, и что один или несколько других серверов могут быть в состоянии это сделать.
| adminLimitExceeded
| Указывает на то, что были превышены административные ограничения.
| unavailableCriticalExtension
| Указывает, что критичный элемент управления не распознан.
| confidentialityRequired
| Указывает на то, что требуется защита конфиденциальности данных.
| saslBindInProgress
| Указывает, что для продолжения процесса аутентификации сервер требует от клиента нового запроса на подсоединение с механизмом SASL
| noSuchAttribute
| Указывает на то, что запись с заданным именем не содержит указанного атрибута или значения атрибута.
| undefinedAttributeType
| Указывает на то, что описание атрибута в поле запроса не распознано.
| inappropriateMatching
| Указывает на то, что была предпринята попытка использовать (например, в утверждении) правило соответствия, не определённое для того типа атрибута, который участвует в операции.
| constraintViolation
| Указывает на то, что клиент предоставил значение атрибута, не удовлетворяющее ограничениям, налагаемым на него моделью данных.
| attributeOrValueExists
| Указывает на то, что клиент предоставил для добавления в запись атрибут или значение, но эти атрибут или значение уже существуют.
| invalidAttributeSyntax
| Указывает на то, что предполагаемое значение атрибута не соответствует синтаксису атрибута.
| noSuchObject
| Указывает на то, что такого объекта не существует.
| aliasProblem
| Указывает на то, что возникла проблема с псевдонимом. Например, данный код может использоваться для индикации того, что полученное в результате разыменования псевдонима имя не указывает на объект.
| invalidDNSyntax
| Указывает на то, что значения поля типа имя объекта (Distinguished Name) не удовлетворяют требуемому синтаксису или содержат значения атрибутов, не удовлетворяющие синтаксису этих типов атрибутов.
| aliasDerefencingProblem
| Указывает на то, что при разыменовании псевдонима возникла проблема. Как правило, псевдоним встретился в ситуации, когда это не позволяется, либо доступ к нему запрещён.
| inappropriateAuthentication
| Указывает, что сервер требует от клиента, который попытался подсоединиться анонимно или без предоставления данных аутентификации, предоставить эти данные в той или иной форме.
| invalidCredentials
| Указывает на то, что предоставленные данные аутентификации (например, имя пользователя и пароль) неверны.
| insufficientAccessRights
| Указывает на то, что у клиента нет достаточных прав доступа для выполнения данной операции.
| busy
| Указывает на то, что сервер слишком занят для обслуживания данной операции.
| unavailable
| Указывает на то, что сервер находится в стадии выключения или необходимая для выполнения операции подсистема недоступна.
| unwillingToPerform
| Указывает на то, что сервер не желает исполнять данную операцию.
| loopDetect
| Указывает на то, что сервер обнаружил зацикливание.
| namingViolation
| Указывает на то, что имя записи нарушает ограничения именования.
| objectClassViolation
| Указывает на то, что запись нарушает ограничения объектного класса.
| notAllowedOnNonLeaf
| Указывает на то, что операция выполняет ненадлежащее действие над не листовой (в терминах древовидной структуры) записью.
| notAllowedOnRDN
| Указывает на то, что операция производит неуместную попытку удалить значение, формирующее относительное уникальное имя записи.
| entryAlreadyExists
| Указывает на то, что запрос не может быть исполнен, поскольку целевая запись уже существует.
| objectClassModsProhibited
| Указывает на то, что попытка модификации объектного класса (objectClass) не разрешается. Например, данный код возвращается при попытке клиента модифицировать структурный объектный класс записи.
| affectMultipleDSAs
| Указывает на то, что операция не может быть выполнена, поскольку она затрагивает несколько серверов.
| other
| Указывает, что на сервере произошла внутренняя ошибка.
|
|
A.34. Простой тип MAXINT
Тип
| xsd:unsignedInt
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Ограничения
| Наименование
| Описание
| Максимальное значение
| 2147483647
|
|
A.35. Простой тип NumericOID
Тип
| xsd:string
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Ограничения
| Значение должно удовлетворять следующему шаблону:
[0-2]\.[0-9]+(\.[0-9]+)*
|
A.36. Простой тип RequestID
Тип
| xsd:string
|
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
A.37. Группа элементов DSMLRequests
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Дочерние элементы
| Наименование
| Тип
| Описание
| authRequest
| AuthRequest
| Запрос на авторизацию
| BatchRequests
| группа элементов BatchRequests
| Пакетный запрос
|
Множественность – выбирается (choice) только один из элементов.
|
A.38. Группа элементов DSMLResponses
Пространство имён
| urn:oasis:names:tc:DSML:2:0:core
|
Диаграмма
| 
|
Дочерние элементы
| Наименование
| Тип
| Описание
| authResponse
| LDAPResult
| Ответ на запрос авторизации
| searchResultEntry
| SearchResultEntry
| Содержит объекты, возвращаемые в результате запроса.
| searchResultReference
| SearchResultReference
| Представляет структуру данных для представления результатов поиска в форме ссылок LDAP.
| searchResultDone
| LDAPResult
| Результаты поиска
| modifyResponse
| LDAPResult
| Ответ на запрос изменения объекта.
| addResponse
| LDAPResult
| Ответ на запрос добавления объекта.
| delResponse
| LDAPResult
| Ответ на запрос удаления объекта.
| modDNResponse
| LDAPResult
| Ответ на запрос изменения уникального имени записи каталога.
| compareResponse
| LDAPResult
| Ответ на запрос сравнения значения.
| extendedResponse
| ExtendedResponse
| Ответ на запрос расширения с предопределёнными синтаксисами и семантиками.
| errorResponse
| ErrorResponse
| Сообщение об ошибке.
|
Множественность – выбирается (choice) только один из элементов.
|
римеры пакетного запроса BatchRequest и пакетного ответа на запрос BatchResponse
Операция запроса на поиск «SearchRequest».