| Предыдущий | Следующий |
| ERROR_DS_LOCAL_ERROR | ERROR_DS_DECODING_ERROR |
ERROR_DS_ENCODING_ERROR
Сообщения LDAP используют структуры ASN.1, закодированные по BER
ERROR_DS_ENCODING_ERROR указывает на сбой при преобразовании операции LDAP, элемента управления или значения атрибута в представление для передачи. Элементы протокола LDAP являются значениями ASN.1, закодированными по Basic Encoding Rules. Элементы управления и некоторые специфичные для Active Directory значения содержат внутри октетной строки ещё одну структуру, закодированную BER, поэтому внешне корректный запрос всё равно может содержать повреждённые вложенные данные.
Перехватите операцию до передачи и определите первый объект, который клиентская библиотека не может закодировать. Проверьте теги вариантов ASN.1, длины, диапазоны целых чисел, корректность UTF-8 и не были ли двоичные значения атрибутов ошибочно пропущены через текстовое преобразование. Для пользовательских элементов управления кодируйте документированную структуру значения элемента управления, а не всё сообщение LDAP повторно. Воспроизведение сбоя на минимальном запросе полезнее повторных попыток, поскольку детерминированные ошибки кодирования вызваны формой запроса или памятью на стороне клиента, а не временной недоступностью каталога.
Диагностика формата передачи
- Операция LDAP и OID элементов управления.
- Исходные байты значения до кодирования BER.
- Тип ASN.1 и ожидаемые тег/длина.
- Используемая клиентская библиотека и перегрузка API.
Ссылки
- IETF RFC 4511: кодирование протокола LDAP
- ITU-T X.690: правила кодирования BER
- Microsoft: поля значения и критичности LDAPControl
Нужно найти другой код? Найти другой код состояния или ошибки.