I exported the following ldif file from an LDAP server and am now trying to import it so that I can replicate the directory that I exported it:
dn: cn=MYCOMPANY Users,dc=mycompany,dc=com changetype: add objectClass: posixGroup objectClass: top cn: MYCOMPANY Users gidNumber: 1001 dn: cn=jim smith,cn=MYCOMPANY Users,dc=mycompany,dc=com objectClass: inetOrgPerson objectClass: posixAccount objectClass: top givenName: jim cn: jim smith sn: smith gidNumber: 1000 homeDirectory: /home/users/arolls uid: jsmith uidNumber: 1038 userPassword: {MD5}X03MO1qnZdYdgyfeuILPmQ== dn: cn=dave jones,cn=MYCOMPANY Users,dc=mycompany,dc=com objectClass: inetOrgPerson objectClass: posixAccount objectClass: top givenName: dave userPassword: {MD5}FhCDh0PMkOPk/dp0goLZuA== loginShell: /bin/sh cn: dave jones sn: dave gidNumber: 1000 homeDirectory: /home/users/dave uid: dave uidNumber: 1006
I am trying to import it using
LDIFReader r = new LDIFReader(resourceAsStream); LDIFChangeRecord readEntry = null; while ((readEntry = r.readChangeRecord()) != null) { readEntry.processChange(server); }
I get the following error: does anyone know what I'm doing wrong?
LDAPException(resultCode=65 (object class violation), errorMessage='Unable to add entry 'cn=MYCOMPANY Users,dc=mycompany,dc=com' because it violates the provided schema: The entry contains object class posixGroup which is not defined in the schema. The entry contains attribute cn which is not allowed by its object classes and/or DIT content rule. The entry contains attribute gidNumber which is not defined in the schema. The entry RDN contains attribute cn which is not allowed to be included in the entry.', diagnosticMessage='Unable to add entry 'cn=MYCOMPANY Users,dc=mycompany,dc=com' because it violates the provided schema: The entry contains object class posixGroup which is not defined in the schema. The entry contains attribute cn which is not allowed by its object classes and/or DIT content rule. The entry contains attribute gidNumber which is not defined in the schema. The entry RDN contains attribute cn which is not allowed to be included in the entry.') at com.unboundid.ldap.listener.InMemoryDirectoryServer.add(InMemoryDirectoryServer.java:1382) at com.unboundid.ldif.LDIFAddChangeRecord.processChange(LDIFAddChangeRecord.java:213) at com.github.trevershick.test.ldap.LdapServerResource.loadLdifFiles(LdapServerResource.java:156) at com.github.trevershick.test.ldap.LdapServerResource.start(LdapServerResource.java:81) at org.rory.util.services.ldap.TestLDAPAuthUIUtilUsingInMemoryLdapServer.startup(TestLDAPAuthUIUtilUsingInMemoryLdapServer.java:42) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) java.lang.NullPointerException at org.rory.util.services.ldap.TestLDAPAuthUIUtilUsingInMemoryLdapServer.shutdown(TestLDAPAuthUIUtilUsingInMemoryLdapServer.java:47) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Thank you very much!
source share