java - How to import ldif file using unboundid-ldap-sdp? -


i exported following ldif file ldap server , trying import can replicate directory exported from:

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'm trying import using

ldifreader r = new ldifreader(resourceasstream); ldifchangerecord readentry = null; while ((readentry = r.readchangerecord()) != null) {   readentry.processchange(server); } 

i'm getting following error, know i'm doing wrong?

ldapexception(resultcode=65 (object class violation), errormessage='unable add entry 'cn=mycompany users,dc=mycompany,dc=com' because violates provided schema: entry contains object class posixgroup not defined in schema. entry contains attribute cn not allowed object classes and/or dit content rule. entry contains attribute gidnumber not defined in schema. entry's rdn contains attribute cn not allowed included in entry.', diagnosticmessage='unable add entry 'cn=mycompany users,dc=mycompany,dc=com' because violates provided schema: entry contains object class posixgroup not defined in schema. entry contains attribute cn not allowed object classes and/or dit content rule. entry contains attribute gidnumber not defined in schema. entry's rdn contains attribute cn not allowed included in entry.')  @ com.unboundid.ldap.listener.inmemorydirectoryserver.add(inmemorydirectoryserver.java:1382) @ com.unboundid.ldif.ldifaddchangerecord.processchange(ldifaddchangerecord.java:213) @ com.github.trevershick.test.ldap.ldapserverresource.loadldiffiles(ldapserverresource.java:156) @ com.github.trevershick.test.ldap.ldapserverresource.start(ldapserverresource.java:81) @ org.rory.util.services.ldap.testldapauthuiutilusinginmemoryldapserver.startup(testldapauthuiutilusinginmemoryldapserver.java:42) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ java.lang.reflect.method.invoke(method.java:597) @ org.eclipse.jdt.internal.junit4.runner.junit4testreference.run(junit4testreference.java:50) @ org.eclipse.jdt.internal.junit.runner.testexecution.run(testexecution.java:38) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:467) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:683) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.run(remotetestrunner.java:390) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.main(remotetestrunner.java:197) java.lang.nullpointerexception @ org.rory.util.services.ldap.testldapauthuiutilusinginmemoryldapserver.shutdown(testldapauthuiutilusinginmemoryldapserver.java:47) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ java.lang.reflect.method.invoke(method.java:597) @ org.eclipse.jdt.internal.junit4.runner.junit4testreference.run(junit4testreference.java:50) @ org.eclipse.jdt.internal.junit.runner.testexecution.run(testexecution.java:38) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:467) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:683) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.run(remotetestrunner.java:390) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.main(remotetestrunner.java:197) 

many thanks!

got working neil via https://sourceforge.net/p/ldap-sdk/discussion/1001257/thread/08ceb8da/?limit=25#65b0.

specifically, needed 2 things:

  1. disable schema checking via:

inmemorydirectoryserverconfig.setschema(null)

  1. added following 4 lines top of ldif:

dn: dc=mycompany,dc=com

objectclass: top

objectclass: domain

dc: mycompany


Comments

Popular posts from this blog

php - get table cell data from and place a copy in another table -

javascript - Mootools wait with Fx.Morph start -

php - Navigate throught databse rows -