On 14.09.2011 23:10, Sébastien Bahloul wrote:
Hi Michael,
The reason why you are encountering this issue is because the LSC is
trying to add an existing entry. This probably means that the
information you are using to identify the entry inside OpenLDAP are
incorrect. I thinks the issue is related to the base DN value : with the
1.X LSC version, we are using JNDI which adds the context DN to the base
DN. Thus if you set up your directory connection with an URL like
ldap://XXX/dc=abk-stuttgart,dc=de then your base dn must be empty or LSC
will try to search with a base
like dc=abk-stuttgart,dc=de,dc=abk-stuttgart,dc=de. If you have access
to, try to give a look at the OpenLDAP logs, you should see why the
request does not return the existing entry.
ok i changed
lsc.tasks.studenten_tex.dstService.baseDn = dc=abk-stuttgart,dc=de
to
lsc.tasks.studenten_vbk.dstService.baseDn =
the sync still works, but not the modifications ...
Here the openldap logs:
Sep 15 11:43:51 lsc slapd[22671]: conn=1000 op=45 SRCH
base="dc=abk-stuttgart,dc=de" scope=2 deref=0 filter="(cn={cn})"
Sep 15 11:43:51 lsc slapd[22671]: conn=1000 op=45 SRCH attr=cn uid mail
sn userPassword description objectClass
Sep 15 11:43:51 lsc slapd[22671]: conn=1000 op=45 SEARCH RESULT tag=101
err=0 nentries=0 text=
Sep 15 11:43:51 lsc slapd[22671]: conn=1000 op=46 ADD
dn="cn=Héloise.Herz,ou=vbk,ou=studenten,dc=abk-stuttgart,dc=de"
Sep 15 11:43:51 lsc slapd[22671]: conn=1000 op=46 RESULT tag=105 err=68
text=
I think it looks good so far - err=68 means "Already Exists" ...
same as in the the lsc logs.
What i don`t get: Why is there an ADD - it should be MODIFY ?!
How does lsc decide if it sends a add or a modify to openldap ?
For me it seems like lcp does not compare the entries mysql <> ldap.
What are necessary settings ?
Here my config again :
### studenten_vbk Verbreiterungsfach Bildende Kunst / Intermediales
Gestalten
lsc.tasks.studenten_vbk.srcService = org.lsc.service.SimpleJdbcSrcService
lsc.tasks.studenten_vbk.srcService.requestNameForList =
getInetOrgPersonList_stud_vbk
lsc.tasks.studenten_vbk.srcService.requestNameForObject =
getInetOrgPerson_stud_vbk
lsc.tasks.studenten_vbk.dstService = org.lsc.jndi.SimpleJndiDstService
lsc.tasks.studenten_vbk.dstService.baseDn =
lsc.tasks.studenten_vbk.dstService.filterAll = (cn=*)
lsc.tasks.studenten_vbk.dstService.pivotAttrs = cn
lsc.tasks.studenten_vbk.dstService.filterId = (cn={cn})
lsc.tasks.studenten_vbk.dstService.attrs = cn uid mail sn userPassword
description objectClass
lsc.tasks.studenten_vbk.bean = org.lsc.beans.SimpleBean
lsc.tasks.studenten_vbk.dn = "cn=" +
srcBean.getAttributeFirstValueById("cn") + ",ou=vbk,ou=studenten"
dn.real_root = dc=abk-stuttgart,dc=de
lsc.syncoptions.studenten_vbk =
org.lsc.beans.syncoptions.PropertiesBasedSyncOptions
lsc.syncoptions.studenten_vbk.objectClass.create_value = "inetOrgPerson"
lsc.syncoptions.studenten_vbk.objectClass.action = F
lsc.syncoptions.studenten_vbk.default.action = K
lsc.syncoptions.studenten_vbk.default.delimiter = $
lsc.syncoptions.studenten_vbk.sn.action = F
lsc.syncoptions.studenten_vbk.userPassword.action = F
lsc.syncoptions.studenten_vbk.mail.action = F
lsc.syncoptions.studenten_vbk.userPassword.default_value =
SecurityUtils.hash(SecurityUtils.HASH_SHA1, "defaultPassword")
Best regards,
micha
_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org
lsc-users mailing list
[email protected]
http://lists.lsc-project.org/listinfo/lsc-users