On 1 févr. 2012, at 11:19, Christoph Czurda wrote: > On 01/10/2012 01:47 PM, Kiran Ayyagari wrote: >> to mention it quickly, new schema elements cannot be registered using >> connection.loadSchema() >> you need to upload the new schema elements to the server. >> >> Please search the ML, this was already answered before. >> > Hi, > > I'm sorry but I can't get this to work. I will explain every step I > took. Please try to explain to me also step by step what I'm missing. If > you are unclear about what I did at some point, please ask. I really > want to get this working. > > I used the schema editor from Directory Studio and created a new schema > project. In the project I included the already existing schemas 'java', > 'core' and 'system'. Next I created a new schema called 'openengsb'. I > created my attributetypes and objectclasses. Then I clicked 'export > schema for Apacheds'. Then I connected to the server and imported the > ldif. The schema is now under cn=openengsb,ou=schema. I can also create > entries from my schema objects. > > However, in my application I can use my own schema objects ONLY if I > don't use connection.loadSchema(). I know that loadSchema() only loads > the default schemas that are bundled with the api. But how can I make my > application aware of my schema / load my own schema?
Unfortunately, at the moment, it is not possible to load any custom schema. We currently have an opened JIRA issue about having a method to load the whole server schema exposed through the subSchemaSubEntry attribute in the RootDSE: DIRAPI-46 (Add a generic schema loader which looks for schema elements under the value of the 'subschemaSubentry' of the RootDSE) [1] Regards, Pierre-Arnaud [1] - https://issues.apache.org/jira/browse/DIRAPI-46 > Thank you, > kind regards, > Christoph >> >> On Tue, Jan 10, 2012 at 5:50 PM, Christoph Czurda >> <[email protected]> wrote: >>> Hi, >>> >>> How can I use custom schema objects in my own application with ApacheDS >>> 2.0? In Studio I created some object classes and attribute types and >>> stored them in a subtree of ou=schema. So the ldif files are present in >>> their correct destinations. In Studio I can also build entries with >>> them. But in my application I get the following error: ERR_04269 >>> ATTRIBUTE_TYPE for OID [any of my schema objects] does not exist! >>> >>> The problem must be with my own schema because when I move my schema >>> objects into any of the predefined schema, I can use them. >>> >>> Here's what I tried so far: >>> >>> connection.loadSchema(); >>> schemaManager = connection.getSchemaManager(); >>> >>> SchemaLoader loader = schemaManager.getLoader(); >>> loader.addSchema(new DefaultSchema("mySchema")); //? >>> >>> schemaManager.enable("mySchema"); //? >>> schemaManager.load("mySchema"); //? >>> >>> Well, after this my schema is enabled and loaded but the elements are >>> still not registered. So how can I register them? >>> >>> Thank you, >>> kind regards, >>> Christoph >> >> >>
