Thanks. I deleted my branch and imported yours from the LDIF.
Everything works as expected. Here's my testing Main class: > import java.io.IOException; > > import org.apache.directory.ldap.client.api.LdapConnectionConfig; > import org.apache.directory.ldap.client.api.LdapNetworkConnection; > import org.apache.directory.shared.ldap.model.exception.LdapException; > import org.apache.directory.shared.ldap.model.name.Dn; > > > public class Main > { > public static void main( String[] args ) throws LdapException, IOException > { > String dnString = > "cn=testAttribute,ou=attributes,cn=testUser,ou=users,ou=userdata,dc=openengsb,dc=org"; > Dn dn = new Dn( dnString ); > > LdapConnectionConfig config = new LdapConnectionConfig(); > config.setLdapHost( "localhost" ); > config.setLdapPort( 10389 ); > config.setName( "uid=admin,ou=system" ); > config.setCredentials( "secret" ); > > LdapNetworkConnection connection = new LdapNetworkConnection( config > ); > > connection.bind(); > > System.out.println( connection.exists( dnString ) ); > System.out.println( connection.exists( dn ) ); > System.out.println( connection.exists( dn.getName() ) ); > > connection.close(); > } > } That's really weird you're getting an error. In my testing environment I'm using both trunk versions of API/Shared and ApacheDS. Maybe there was a bug in previous versions and it got fixed in between… Regards, Pierre-Arnaud On 1 févr. 2012, at 13:42, Christoph Czurda wrote: > Here it is. > Thank you, > Christoph > > On 02/01/2012 01:29 PM, Pierre-Arnaud Marcelot wrote: >> Thanks. >> >> It's funny, but I really can't replicate the issue. >> >> When I use these three ways to access the information, they all succeed and >> print "true": >>> System.out.println( connection.exists( dnString ) ); >>> System.out.println( connection.exists( dn ) ); >>> System.out.println( connection.exists( dn.getName() ) ); >> >> >> Could you also attach the LDIF of the 'dc=openengsb,dc=org' branch please? >> Maybe I'm missing something here... >> >> Thanks, >> Pierre-Arnaud >> >> >> On 1 févr. 2012, at 13:22, Christoph Czurda wrote: >> >>> >>> >>> On 02/01/2012 01:13 PM, Pierre-Arnaud Marcelot wrote: >>>> Christoph, >>>> >>>> I guess the 'cn=testAttribute' entry is an instance of the >>>> 'openengsb-namedObject' Object Class, right? >>> Yes, that's correct. >>>> >>>> Regards, >>>> Pierre-Arnaud >>>> >>>> >>>> On 1 févr. 2012, at 12:26, Christoph Czurda wrote: >>>> >>>>> Hi Pierre-Arnaud, >>>>> >>>>> I attached the ldif file. Btw, I used the LdapNetworkConnection as >>>>> proposed in another thread. While it enabled my custom schema, it still >>>>> gives the same result for this particular unit test. >>>>> >>>>> If you have the time, feel free to comment on my schema. It is my first >>>>> schema and I appreciate any feedback. >>>>> >>>>> Kind regards, >>>>> Christoph >>>>> >>>>> On 02/01/2012 11:34 AM, Pierre-Arnaud Marcelot wrote: >>>>>> Thanks Christoph, >>>>>> >>>>>> I replicated the whole hierarchy of the DN you gave with standard schema >>>>>> element and I have not been able to reproduce the issue. >>>>>> >>>>>> As you mentioned in another mail, you're using a custom schema for your >>>>>> own set of Attribute Types and Object Classes. >>>>>> Would you be allowed to share it with us (even in a private email, not >>>>>> on the ML), so we can replicate the issue and found out more about this >>>>>> strange issue? >>>>>> >>>>>> Regards, >>>>>> Pierre-Arnaud >>>>>> >>>>>> >>>>>> On 1 févr. 2012, at 10:40, Christoph Czurda wrote: >>>>>> >>>>>>> On 02/01/2012 10:34 AM, Pierre-Arnaud Marcelot wrote: >>>>>>>> Hi Christoph, >>>>>>>> >>>>>>>> Could we have a look at the full DN you're using? >>>>>>> Sure, here it is: >>>>>>> cn=testAttribute,ou=attributes,cn=testUser,ou=users,ou=userdata,dc=openengsb,dc=org >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Pierre-Arnaud >>>>>>>> >>>>>>>> On 1 févr. 2012, at 06:16, Christoph Czurda wrote: >>>>>>>> >>>>>>>>> Hello! >>>>>>>>> >>>>>>>>> I came accross a strange issue in a unit test. (server ApacheDS 2.0) >>>>>>>>> >>>>>>>>> Testing connection.exists(Dn dn) returns false. >>>>>>>>> When I test the String overload with the same dn I get true. >>>>>>>>> >>>>>>>>> The code can probably explain better than words: >>>>>>>>> >>>>>>>>> Dn dn; >>>>>>>>> //dn is initialized with an existing Dn. >>>>>>>>> >>>>>>>>> //this test passes: >>>>>>>>> assertThat(connection.exists(dn.getName()), is(true)); >>>>>>>>> >>>>>>>>> //this fails. AssertionError: expected true, got false >>>>>>>>> assertThat(connection.exists(dn), is(true)); >>>>>>>>> >>>>>>>>> How can that be? exists(Dn) works fine in other tests. >>>>>>>>> >>>>>>>>> Maybe I should mention that I get lots of these messages: >>>>>>>>> >>>>>>>>> 2012-02-01 05:56:00,730 [NioProcessor-2] WARN >>>>>>>>> org.apache.directory.shared.asn1.ber.Asn1Decoder - >>>>>>>>> ERR_00043_REMAINING_BYTES_FOR_DECODED_PDU The PDU has been fully >>>>>>>>> decoded >>>>>>>>> but there are still bytes in the buffer. >>>>>>>>> >>>>>>>>> But they occur with almost every message sent to the server. Btw, can >>>>>>>>> I >>>>>>>>> get rid of them somehow? >>>>>>>>> >>>>>>>>> Kind regards, >>>>>>>>> Christoph >>>>>>>> >>>>>> >>>>> <openengsbSchema.ldif> >>>> >> > <openengsb-branch.ldif><openengsb-branch-with-operational-attributes.ldif>