как удалить все записи ldap java

У меня есть приложение на Java, использующее Spring LDAP и Java Naming. Проблема в том, что когда я удаляю ветку, содержащую записи. пример:

root
|
|----A
|    |
|    |--A1
|       |
|       |----A2
|            |
|            |---A3  
|
|
|-----B

Когда я пытаюсь удалить ветку A, отправляет мне следующее исключение:

[LDAP: error code 66 - subordinate objects must be deleted first]

Помогите мне, пожалуйста! спасибо!

Привет.!


person Elias Vargas    schedule 02.06.2014    source источник


Ответы (2)


Если вы используете Spring LDAP, вы сможете выполнить это с помощью метода LdapTemplate#unbind, который принимает «рекурсивный» аргумент:

http://docs.spring.io/spring-ldap/docs/2.0.2.RELEASE/apidocs/org/springframework/ldap/core/LdapTemplate.html#unbind(javax.naming.Name, логическое значение)

person marthursson    schedule 13.06.2014

Если сервер LDAP не поддерживает расширенную операцию TreeDelete или управление запросом, что бы это ни было, и вы можете найти Java-реализацию клиентского кода, вам придется пройти по поддереву и удалить записи снизу вверх.

person user207421    schedule 02.06.2014