[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Ldap error code 71 ???



Hi !

> Markus Grunwald wrote:
> > I have an OpenLdap v2.xx Server where I wand to rename two DNs (with the
> > JNDI API).
>
> Are you issuing a a modrdn call? This means modify RDN.
I think so... in fact I call a JNDI method but this should be a modrdn call...

> > The context/suffix is dc=test
> >
> > dc=test
> > \
> >  ou=wag
> >  \
> >   ou=win
> >   | \
> >   |  uid=grunwalm
> >   ou=unbekannt
> >
> > When I try to rename from uid=grunwalm,ou=win,ou=wag  to
> > uid=grunwalm,ou=unbekannt,ou=wag I get the following error:
> >
> > LDAP error code 71: cannot rename between DSAa
>
> You are not allowed to call modrdn for different branches of the
> LDAP tree. Different branches could be located on different LDAP
> servers (or DSAs).

Let me quote from the tutorial:

<quote>
Renaming to a Different Part of the DIT

With the LDAP v3, you can rename an entry to a different part of the DIT.
To do this by using Context.rename(), you must use a context
that is the common ancestor for both the new and the old entries.
For example, to rename
"cn=C. User, ou=NewHires, o=JNDITutorial" to
"cn=C. User, ou=People, o=JNDITutorial",
you must use the context named by "o=JNDITutorial".
Following is an example that demonstrates
this. If you try to run this example against an LDAP v2 server,
then you will get an  InvalidNameException because version 2 does not support 
this feature.

ctx.rename("cn=C. User, ou=NewHires", "cn=C. User, ou=People");
</quote>

Methinks, this is exactly what I have done...

-- 
Markus Grunwald