2

I have an application in Java, using Spring LDAP and Java Naming. The problem is when I delete a branch that contains entries. example:

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

When I try to delete the branch A, sends me the following exception:

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

Please help me! thank you!

Greetings.!

Elias Vargas
  • 1,126
  • 1
  • 18
  • 32

2 Answers2

4

If you are using Spring LDAP, you should be able to accomplish this using LdapTemplate#unbind method that takes 'recursive' argument:

http://docs.spring.io/spring-ldap/docs/2.0.2.RELEASE/apidocs/org/springframework/ldap/core/LdapTemplate.html#unbind(javax.naming.Name, boolean)

marthursson
  • 3,242
  • 1
  • 18
  • 28
2

Unless the LDAP server supports the TreeDelete extended operation or request control, whatever it is, and you can find a Java implementation of the client side code, you will have to traverse the subtree and delete the entries bottom-up.

user207421
  • 305,947
  • 44
  • 307
  • 483