Hello Rich, Thank you again for your support.
With your direction, I have found the code sample in extracting LDAPSchema out of an LDAPConnection. From the LDAPSchema, extract LDAPObjectClassSchema then add a new LDAPAttributeSchema to the LDAPSchema. However, when I tried out this sample to the Aphelion Directory Server that I worked on it failed at the fetchSchema method. Returned exception message is "No such object". LDAPConnection ldapConn = new LDAPConnection(); // Construct a new LDAPSchema object to get the schema. LDAPSchema dirSchema = new LDAPSchema(); try { // Connect to the server. ldapConn.connect(LDAP_HOST, LDAP_PORT); // Get the schema from the directory. dirSchema.fetchSchema(ldapConn); // Get and print the inetOrgPerson object class description. LDAPObjectClassSchema objClass = dirSchema.getObjectClass("inetOrgPerson"); if (objClass != null) { System.out.println("inetOrgPerson := " + objClass.toString()); } // Get and print the definition of the userPassword attribute. LDAPAttributeSchema attrType = dirSchema.getAttribute("userpassword"); if (attrType != null) { System.out.println("userPassword := " + attrType.toString()); } Does this means the Aphelion Directory Server does not support extracting schema over LDAP protocol? "Rich Megginson" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > H.C. Lin wrote: > > Dear group, > > > > Does any one knows how to add a new attribute to an object? > > > > I tried to add a new attribute called status for person attribute using the > > instruction in the SDK but failed. I guess this is due to I have not > > extended the schema for person object. > > What error code/message did you get? > > Yes, you have to extend the schema if you want to add a new attribute > that is not already in the schema of the object. There are two usual > ways to do this and one non-suggested way. > > 1) Create a new structural objectclass that extends one of the > objectclasses already used by the object. Create your new attribute. > Add your new attribute to your new objectclass. Add your new > objectclass to the object instead of the one that it extends. > 2) Create a new auxiliary objectclass. Create your new attribute. Add > your attribute to the new objectclass. Add your new objectclass to the > object _in addition to_ the other objectclasses already present. > 3) Add the objectclass "extensibleObject" to your object. This > essentially turns off schema checking for the object. I don't recommend > doing this in production, but it can be useful for application testing. > > > > > > I wonder if I reason the cause of my problem correctly? Perhaps some one > > could point me to the right way. > > > > > > Your reply is much appreciated. > > > > HC Ramins Lin > > > > _______________________________________________ mozilla-directory mailing list mozilla-directory@mozilla.org http://mail.mozilla.org/listinfo/mozilla-directory