You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@directory.apache.org by "Andreas Schaefer Sr." <sc...@me.com> on 2015/08/09 00:09:50 UTC

Failed to Import LDIF files about updated Schemas to Apache DS through Studio

Hi

First I want to thanks Apache Directory team for this great app.

I wanted to use the Apache Directory Studio to create a Test LDAP server for testing user authentication. For that I need to update the existing schema in Apache DS.

When I tried to do that I ran into issues where I could not update an existing entry but could create new ones. This is what I did:

1) Create a new schema
2) Create a new Attirbute Type and Object Class adding the new Attribute Type as optional attribute and make the Object Class (person2) by a sub type of Person from Core
3) Export as LDIF
4) Import to the embedded ApacheDS server as LDIF file (update existing entries checked)
5) Worked even though got some errors
6) Created new Attribute Types and added them to the person2 as optional attributes
7) Exported as LDIF and then imported to the Apache DS server as LDIF
8) Created the new Attribute Types but failed to modify the Object Type person2 (see the Error from the log at the end)

Questions:
- Is that the right approach?
- I found this ticket: https://issues.apache.org/jira/browse/DIRSTUDIO-808. Is that a regression in M9? I downloaded and tried the same thing with M4 and it failed as well.

Thanks - Andy Schaefer

Environment:

Mac OS X 10.10.4
Java 1.8 (latest)
Apache Studio: 2.0.0-M9
LDAP Server: embedded ApacheDS

Error from the logs:

#!RESULT ERROR
#!CONNECTION ldap://localhost:10389
#!DATE 2015-08-08T14:25:12.464
#!ERROR [LDAP: error code 80 - OTHER: failed for MessageType : ADD_REQUEST Message ID : 48     Add Request : Entry     dn[n]: m-oid=1.0.0.111.1.1, ou=objectclasses, cn=ucms, ou=schema     objectclass: metaObjectClass     objectclass: metaTop     objectclass: top     m-may: countryCode     m-may: uSNChanged     m-may: uSNCreated     m-may: whenChanged     m-may: whenCreated     m-description: Test if I can add an attribute by my very own Object Class.     m-name: person2     m-supObjectClass: person     m-oid: 1.0.0.111.1.1 : ERR_335 Oid 1.0.0.111.1.1 for new schema entity is not unique.: org.apache.directory.api.ldap.model.exception.LdapOtherException: ERR_335 Oid 1.0.0.111.1.1 for new schema entity is not unique. 	at org.apache.directory.server.core.api.schema.registries.synchronizers.AbstractRegistrySynchronizer.checkOidIsUnique(AbstractRegistrySynchronizer.java:176) 	at org.apache.directory.server.core.api.schema.registries.synchronizers.ObjectClassSynchronizer.add(ObjectClassSynchronizer.java:102) 	at org.apache.directory.server.core.api.schema.registries.synchronizers.RegistrySynchronizerAdaptor.add(RegistrySynchronizerAdaptor.java:177) 	at org.apache.directory.server.core.api.schema.SchemaPartition.add(SchemaPartition.java:267) 	at org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.add(DefaultPartitionNexus.java:352) 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor$1.add(BaseInterceptor.java:165) 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:422) 	at org.apache.directory.server.core.journal.JournalInterceptor.add(JournalInterceptor.java:139) 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:422) 	at org.apache.directory.server.core.trigger.TriggerInterceptor.add(TriggerInterceptor.java:300) 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:422) 	at org.apache.directory.server.core.event.EventInterceptor.add(EventInterceptor.java:226) 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:422) 	at org.apache.directory.server.core.subtree.SubentryInterceptor.add(SubentryInterceptor.java:1014) 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:422) 	at org.apache.directory.server.core.collective.CollectiveAttributeInterceptor.add(CollectiveAttributeInterceptor.java:134) 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:422) 	at org.apache.directory.server.core.operational.OperationalAttributeInterceptor.add(OperationalAttributeInterceptor.java:232) 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:422) 	at org.apache.directory.server.core.schema.SchemaInterceptor.add(SchemaInterceptor.java:1074) 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:422) 	at org.apache.directory.server.core.hash.PasswordHashingInterceptor.add(PasswordHashingInterceptor.java:93) 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:422) 	at org.apache.directory.server.core.exception.ExceptionInterceptor.add(ExceptionInterceptor.java:189) 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:422) 	at org.apache.directory.server.core.admin.AdministrativePointInterceptor.add(AdministrativePointInterceptor.java:1201) 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:422) 	at org.apache.directory.server.core.authz.AciAuthorizationInterceptor.add(AciAuthorizationInterceptor.java:515) 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:422) 	at org.apache.directory.server.core.referral.ReferralInterceptor.add(ReferralInterceptor.java:249) 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:422) 	at org.apache.directory.server.core.authn.AuthenticationInterceptor.add(AuthenticationInterceptor.java:410) 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:422) 	at org.apache.directory.server.core.normalization.NormalizationInterceptor.add(NormalizationInterceptor.java:131) 	at org.apache.directory.server.core.DefaultOperationManager.add(DefaultOperationManager.java:394) 	at org.apache.directory.server.core.shared.DefaultCoreSession.add(DefaultCoreSession.java:249) 	at org.apache.directory.server.core.shared.DefaultCoreSession.add(DefaultCoreSession.java:233) 	at org.apache.directory.server.ldap.handlers.request.AddRequestHandler.handle(AddRequestHandler.java:57) 	at org.apache.directory.server.ldap.handlers.request.AddRequestHandler.handle(AddRequestHandler.java:39) 	at org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:207) 	at org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:56) 	at org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:221) 	at org.apache.directory.server.ldap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:217) 	at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:854) 	at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:542) 	at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:48) 	at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:943) 	at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:74) 	at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63) 	at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.runTa



Re: Failed to Import LDIF files about updated Schemas to Apache DS through Studio

Posted by "Andreas Schaefer Sr." <sc...@me.com>.
Hi

After some poking around I finally found the ou=schema and could delete the offending entry and reimport.

Thanks - Andy Schaefer

> On Aug 8, 2015, at 10:21 PM, Emmanuel Lécharny <el...@gmail.com> wrote:
> 
> Le 09/08/15 02:19, Andreas Schaefer a écrit :
>> Of course this entry already exists because I wanted to update an object class.
> You can't update a schema element. You can just add or delete them.
> 
> 
> 
>> How would I delete an object from a schema?
>> 
> Just delete the asscoiated entry in the schema DIT.
> 


Re: Failed to Import LDIF files about updated Schemas to Apache DS through Studio

Posted by Emmanuel Lécharny <el...@gmail.com>.
Le 09/08/15 02:19, Andreas Schaefer a écrit :
> Of course this entry already exists because I wanted to update an object class.
You can't update a schema element. You can just add or delete them.



>  How would I delete an object from a schema?
>
Just delete the asscoiated entry in the schema DIT.


Re: Failed to Import LDIF files about updated Schemas to Apache DS through Studio

Posted by Andreas Schaefer <sc...@mac.com>.
Of course this entry already exists because I wanted to update an object class. How would I delete an object from a schema?

- Andy Schaefer

> On Aug 8, 2015, at 3:36 PM, Emmanuel Lécharny <el...@gmail.com> wrote:
> 
> Le 09/08/15 00:09, Andreas Schaefer Sr. a écrit :
>> Hi
>> 
>> First I want to thanks Apache Directory team for this great app.
>> 
>> I wanted to use the Apache Directory Studio to create a Test LDAP server for testing user authentication. For that I need to update the existing schema in Apache DS.
>> 
>> When I tried to do that I ran into issues where I could not update an existing entry but could create new ones. This is what I did:
>> 
>> 1) Create a new schema
>> 2) Create a new Attirbute Type and Object Class adding the new Attribute Type as optional attribute and make the Object Class (person2) by a sub type of Person from Core
>> 3) Export as LDIF
>> 4) Import to the embedded ApacheDS server as LDIF file (update existing entries checked)
>> 5) Worked even though got some errors
>> 6) Created new Attribute Types and added them to the person2 as optional attributes
>> 7) Exported as LDIF and then imported to the Apache DS server as LDIF
>> 8) Created the new Attribute Types but failed to modify the Object Type person2 (see the Error from the log at the end)
>> 
>> Questions:
>> - Is that the right approach?
>> - I found this ticket: https://issues.apache.org/jira/browse/DIRSTUDIO-808. Is that a regression in M9? I downloaded and tried the same thing with M4 and it failed as well.
> 
> You had this error : Oid 1.0.0.111.1.1 for new schema entity is not unique
> 
> Which means you already have an element with this OID. Each schema
> element must have its own OID. Blind guess : your first import alreadyd
> efines this OID. Either you delete it, or you change the OID.
> 

Re: Failed to Import LDIF files about updated Schemas to Apache DS through Studio

Posted by Emmanuel Lécharny <el...@gmail.com>.
Le 09/08/15 00:09, Andreas Schaefer Sr. a écrit :
> Hi
>
> First I want to thanks Apache Directory team for this great app.
>
> I wanted to use the Apache Directory Studio to create a Test LDAP server for testing user authentication. For that I need to update the existing schema in Apache DS.
>
> When I tried to do that I ran into issues where I could not update an existing entry but could create new ones. This is what I did:
>
> 1) Create a new schema
> 2) Create a new Attirbute Type and Object Class adding the new Attribute Type as optional attribute and make the Object Class (person2) by a sub type of Person from Core
> 3) Export as LDIF
> 4) Import to the embedded ApacheDS server as LDIF file (update existing entries checked)
> 5) Worked even though got some errors
> 6) Created new Attribute Types and added them to the person2 as optional attributes
> 7) Exported as LDIF and then imported to the Apache DS server as LDIF
> 8) Created the new Attribute Types but failed to modify the Object Type person2 (see the Error from the log at the end)
>
> Questions:
> - Is that the right approach?
> - I found this ticket: https://issues.apache.org/jira/browse/DIRSTUDIO-808. Is that a regression in M9? I downloaded and tried the same thing with M4 and it failed as well.

You had this error : Oid 1.0.0.111.1.1 for new schema entity is not unique

Which means you already have an element with this OID. Each schema
element must have its own OID. Blind guess : your first import alreadyd
efines this OID. Either you delete it, or you change the OID.