> Yes, the use of employeeNumber as pivot attribute doesn't a good idee...
>
>
> I change it by uid attribute.
>
>
> I have changed too lsc.tasks.salaries.srcService.filterAll to have only
> entries of zimbra with a valid uid like this :
>
>
> lsc.tasks.salaries.srcService.filterAll =
> (&(objectClass=organizationalPerson) (uid=*))
>
>
> Now i have a problem when i run :
>
> ant lsc::synchronize -Dsynchronize.parameters="-c all -s all"
>
> the reponse is :
>
> Buildfile: build.xml
>
> lsc::init:
>
> lsc::prepare-env:
> [echo] Copying xml and properties files
> [copy] Copying 1 file to
> /home/pascal/lsc/lsc-salarie2-z2ldap/target/classes
>
> lsc::compile-resources:
> [echo] Compiling resources
>
> lsc::compile-app:
>
> lsc::synchronize:
> [java] 0 [main] WARN
> org.lsc.SimpleSynchronize.launchTask(SimpleSynchronize.java:230) -
> Starting sync for salaries
> [java] 586 [main] ERROR
> org.lsc.jndi.JndiServices.apply(JndiServices.java:554) - Error while
> modifying directory on entry
> uid=,ou=Salaries,o=fal44,o=cdr44,dc=centrederessources44,dc=org / [Add
> attribute: objectclass: top, shadowAccount, inetOrgPerson, Add
> attribute: sn: Maurieras, Add attribute: cn: Pascal Maurieras]
> [java] javax.naming.InvalidNameException:
> uid=,ou=Salaries,o=fal44,o=cdr44: [LDAP: error code 34 - invalid DN];
> remaining name 'uid=,ou=Salaries,o=fal44,o=cdr44'
> [java] at
> com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2932)
> [java] at
> com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2746)
> [java] at
> com.sun.jndi.ldap.LdapCtx.c_createSubcontext(LdapCtx.java:779)
> [java] at
> com.sun.jndi.toolkit.ctx.ComponentDirContext.p_createSubcontext(ComponentDirContext.java:319)
> [java] at
> com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.createSubcontext(PartialCompositeDirContext.java:248)
> [java] at
> javax.naming.directory.InitialDirContext.createSubcontext(InitialDirContext.java:183)
> [java] at org.lsc.jndi.JndiServices.apply(JndiServices.java:513)
> [java] at
> org.lsc.AbstractSynchronize.synchronize2Ldap(AbstractSynchronize.java:414)
> [java] at
> org.lsc.SimpleSynchronize.launchTask(SimpleSynchronize.java:280)
> [java] at
> org.lsc.SimpleSynchronize.launch(SimpleSynchronize.java:172)
> [java] at org.lsc.Launcher.run(Launcher.java:128)
> [java] at org.lsc.Launcher.main(Launcher.java:111)
> [java] 2213 [main] ERROR
> org.lsc.AbstractSynchronize.logActionError(AbstractSynchronize.java:475)
> - Erreur rencontr??e sur l'identifiant
> uid=,ou=Salaries,o=fal44,o=cdr44,dc=centrederessources44,dc=org:
> [java]
> [java] dn:
> uid=,ou=Salaries,o=fal44,o=cdr44,dc=centrederessources44,dc=org
> [java] changetype: add
> [java] objectclass: top
> [java] objectclass: shadowAccount
> [java] objectclass: inetOrgPerson
> [java] sn: Maurieras
> [java] cn: Pascal Maurieras
> [java]
> ...
>
>
> The method srcBean.getAttributeValueById("uid") seems doesn't work in
> lsc.tasks.salaries.dn ?
>
>
> My new conf is :
>
>
> lsc.tasks.salaries.type = ldap2ldap
> lsc.tasks.salaries.srcService.pivotAttrs = uid
> lsc.tasks.salaries.srcService.filterId =
> (&(objectClass=organizationalPerson)(uid={uid}))
> lsc.tasks.salaries.srcService.filterAll =
> (&(objectClass=organizationalPerson) (uid=*))
> lsc.tasks.salaries.srcService.baseDn = ou=people
> lsc.tasks.salaries.srcService.attrs = uid cn sn givenName mail objectClass
> lsc.tasks.salaries.srcService = org.lsc.jndi.SimpleJndiSrcService
> lsc.tasks.salaries.object = org.lsc.objects.organizationalPerson
> lsc.tasks.salaries.dstService.pivotAttrs = uid
> lsc.tasks.salaries.dstService.filterId =
> (&(objectClass=inetOrgPerson)(uid={uid}))
> lsc.tasks.salaries.dstService.filterAll = (objectClass=inetOrgPerson)
> lsc.tasks.salaries.dstService.baseDn = ou=Salaries,o=fal44,o=cdr44
> lsc.tasks.salaries.dstService.attrs = uid cn sn givenName mail objectClass
> lsc.tasks.salaries.dstService = org.lsc.jndi.SimpleJndiDstService
> lsc.tasks.salaries.dn = "uid=" + srcBean.getAttributeValueById("uid") +
> ",ou=Salaries,o=fal44,o=cdr44,dc=centrederessources44,dc=org"
> lsc.tasks.salaries.bean = org.lsc.beans.inetOrgPersonBean
> lsc.tasks = salaries
>
>
Hello,
it seems that srcBean.getAttributeValueById("uid") returns nothing, so DN
cannot be set. Are you sure your entry in source directory has a value in
uid?
Cl?ment.