OK, this is my mistake. I restarted everything and it's not happening now. Although it was
repeatable before I sent the message.
I kept getting an entry back that looked like this for my group.
dn: uid=1343053588198
objectClass: uidObject
objectClass: groupOfNames
objectClass: top
member: uid=admin,ou=system
uid: 1343053588198
cn: Group Display Name
description: Group Description
then when I tried to modify
connection.modify(entry,mods); // group member changes.
This exception was thrown..
13:51:08,329 ERROR Error updating groups in DN : uid=1343053588198
org.apache.directory.api.ldap.model.exception.LdapNoSuchObjectException: NO_SUCH_OBJECT: failed
for MessageType : MODIFY_REQUEST
Message ID : 3
Modify Request
Object : 'uid=1343053588198'
Modification[0]
Operation : replace
Modification
member: uid=1329147365652,ou=users,ou=int,o=cpro
member: uid=admin,ou=system
org.apache.directory.api.ldap.model.message.ModifyRequestImpl@335407ca: ERR_268 Cannot find
a partition for uid=1343053588198
at org.apache.directory.api.ldap.model.message.ResultCodeEnum.processResponse(ResultCodeEnum.java:2046)
at org.apache.directory.ldap.client.api.LdapNetworkConnection.modify(LdapNetworkConnection.java:2120)
I changed some code. I was updating the entry twice consecutively in a very short time.
Maybe this had something to do with it. Will keep testing. Thanks.
-----Original Message-----
From: Emmanuel Lécharny [mailto:elecharny@gmail.com]
Sent: Tuesday, February 05, 2013 2:55 PM
To: users@directory.apache.org
Subject: Re: Getting fully qualified distinguished name from entry
Le 2/5/13 8:34 PM, Carlo.Accorsi@ibs-ag.com a écrit :
> Hi,
>
> I'm searching for an entry that has this format.
>
> uid=123, ou=A, ou=B,o=C
>
> SearchRequest req = new SearchRequestImpl();
> req.setScope(SearchScope.SUBTREE);
> req.addAttributes(DEFAULT_ATTRIBUTES);
> req.setTimeLimit(0);
> req.setBase("o=C"); // this is the root of tree
> req.setFilter("(uid=123)");
>
> When I get the entry back,
>
> entry.getDn().getName() returns 'uid=123'
>
> List<Rdn> rdns = entry.getDn().getRdns(); The RDNs in the List
> rdns are null except for the first value which contains uid=123
>
> I've looked through the api but is there any way to get the entire string 'uid=123, ou=A,
ou=B,o=C' from entry or DN?
That's really strange. The Dn.getName() returns the full Dn. Here, it seems that the entry
contains only "uid=123" instead of the full DN.
That means the Dn is not correctly built. I have to investigate this, it's really surprising...
--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com
|