次の ldif ファイルを LDAP サーバーからエクスポートし、エクスポート元のディレクトリを複製できるようにインポートしようとしています。
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
を使用してインポートしようとしています
LDIFReader r = new LDIFReader(resourceAsStream);
LDIFChangeRecord readEntry = null;
while ((readEntry = r.readChangeRecord()) != null) {
readEntry.processChange(server);
}
次のエラーが表示されます。誰かが私が間違っていることを知っていますか?
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's 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's 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)
どうもありがとう!