On 10/7/2015 6:27 PM, ab wrote: > You can see the NDAP schema name from LDAP. Is that not valid still for > some reason?
If your app provides getSchema() functionality reliably, then you could use dxcmd via Java and call the Refresh App Schema, on some reasonable schedule, and then look in DirXML-ApplicationSchema for your attribute.
On 10/9/2015 11:24 AM, al b wrote: > > Thank you folks, > I looked to the schema LDAP extract and I don't think, that it will be > trivial task. :( > Ideally I need nodeset with all ncp attribute names. > > Currently I can't see simple (right) way to get it... > > I will continue work on business logic of the driver and maybe later (I > hope) will look again for attribute "validation" part... > My preference to use in my code simple and elegant solutions :)
You get the status level=error back with a 610 Illegal attribute if you try to write it to a test user. Run a test (startup? Job?) that writes to a test user the attr, and then check the result, either 610 error or success?
CN is about the most complex you can get: NDAP and LDAP names are different, and there are multiple LDAP names. I'd try to loop over attributeTypes, look for the X-NDS-NAME, if not available take the first NAME. Two regex replacements should be enough to get this done.
This is first idea, that came to my mind, but I dropped it for the next reasons: 1. Lot of our attributes defined in different AUX classes. I can't "attach" different AUX classes (sometime "conflicting" classes like XXX:person, XXX:nonperson, etc) to same test object. This driver will handle updates for all object classes. 2. I can't validate attribute name during "start-up" - I just don't know which attribute name ("free form" string) application will "inject" to approval queue.
Idea was compare this "injected attribute name" with nodeset of all attributes in my schema and continue to the business logic only if I "pass" attribute name validation step.
3. This is not critical part, I can have driver working without "validation", but this is "nice to have" functionality.