Hi, In fact the two solutions seems to be feasible:
Le Mer 16 juin 2010 17:07, [email protected] a écrit : > I think that two solutions are possible but I don't know how to do it > my method filterAll : > lsc.tasks.ADpam.srcService.filterAll = > (&(ou=*)(objectClass=organizationalUnit)) > This method should be modified in something like: > lsc.tasks.ADpam.srcService.filterAll = > (&(ou=*)(objectClass=organizationalUnit)(dn=ou=UnitLevel1a,dc=testDomain,dc=com)) > (this doesn't work because dn in not an attribute) and I will have two > make one task by level of hierarchy. No, but extended filters (if AD support them) exist: (entryDN:dnSubtreeMatch:=ou=UnitLevel1a,dc=testDomain,dc=com) > The other solution is to modify the dn where it is printed > here is the curent dn constructor: > lsc.tasks.ADpam.dn = "ou=" + srcBean.getAttributeValueById("ou") + > ",ou=UnitLevel1a" > lsc.tasks.ADpam.dn = "ou=" + srcBean.getAttributeValueById("ou") +"," > srcBean.getDN() > but this method doesn't exist. > Have you got suggestions? I think you are looking for the getDistinguishedName() method (named getDistinguishName in old versions). Regards, Raphaël Ouazana. > -------- Message d'origine-------- > De: Gunter Holzer [mailto:[email protected]] > Date: mer. 16/06/2010 15:37 > À: François Chapuis ([email protected]) > Cc: [email protected] > Objet : AW: RE : ldap2ldap synchro tasks > > How does your DN constructor look like? > > lsc.tasks.ADuser.dn = "CN=" + srcBean.getAttributeValueById("CN") + > ",OU=OpenLDAP" > > Von: [email protected] [mailto:[email protected]] > Gesendet: Mittwoch, 16. Juni 2010 15:32 > An: Gunter Holzer > Cc: [email protected] > Betreff: RE : ldap2ldap synchro tasks > > > This time it runned but I have some errors and warning > The first error comes from the fact that there is no UnitLevel4c in my > destination serveur but I wanted this unit to be added : > juin 16 14:55:05 - ERROR - Error while adding entry > ou=UnitLevel4c,ou=UnitLevel1 > a in directory :javax.naming.directory.SchemaViolationException: [LDAP: > error co > de 65 - entry has no objectClass attribute]; remaining name > 'ou=UnitLevel4c,ou=U > nitLevel1a' > juin 16 14:55:05 - ERROR - Error while synchronizing ID > ou=UnitLevel4c,ou=UnitLe > vel1a: java.lang.Exception: Technical problem while applying modifications > to di > rectory > dn: ou=UnitLevel4c,ou=UnitLevel1a,dc=testDomain,dc=com > changetype: add > ou: UnitLevel4c > telephoneNumber: 0478444500 > st: 4c > > > The following INFO shows that all my sub-entries which were not direct > sub-entries of UnitLevel1a are changed to sub-entries of UnitLevel1 and > their telephoneNumber are not modified. > My hierarchy was like that in the source: > ou=UnitLevel1a > ou=UnitLevel2a > ou=UnitLevel3a > ou=UnitLevel4a > ou=UnitLevel4b > ou=UnitLevel3b > ou=UnitLevel4c > ou=UnitLevel2b > ou=UnitLevel3c > And after synchronization in the destination: > ou=UnitLevel1a > ou=UnitLevel2a > ou=UnitLevel2b > ou=UnitLevel3a > ou=UnitLevel3b > ou=UnitLevel3c > ou=UnitLevel4a > ou=UnitLevel4b > And except UnitLevel2a and UnitLevel2b no on has got the new telephone > number. > One of the INFO : > juin 16 14:55:05 - INFO - # Renaming entry > ou=UnitLevel4b,ou=UnitLevel3a,ou=Uni > tLevel2a,ou=UnitLevel1a for ADpam > dn: > ou=UnitLevel4b,ou=UnitLevel3a,ou=UnitLevel2a,ou=UnitLevel1a,dc=testDomain,dc > =com > changetype: modrdn > newrdn: ou=UnitLevel4b > deleteoldrdn: 1 > newsuperior: ou=UnitLevel1a,dc=testDomain,dc=com > > What is the procedure in order to not to change the rdn? > > > -------- Message d'origine-------- > De: Gunter Holzer [mailto:[email protected]] > Date: mer. 16/06/2010 12:38 > À: François Chapuis ([email protected]) > Cc: [email protected] > Objet : AW: [lsc-users] RE : ldap2ldap synchro tasks > > Hi, > > is the source attribute name "telephoneNumber" the same as in the > destination ldap directory? > If not you have to specify the match: > For MS AD its "Phone" not "telephoneNumber" > > #telephoneNumber <- Phone > lsc.syncoptions.ADpam.telephoneNumber.create_value = > srcBean.getAttributeValueById("Phone") > > Further you have to read the atrributes you like to sync from source AND > destination directory. > > lsc.tasks.ADpam.srcService.attrs = ou st telephoneNumber > and > lsc.tasks.ADpam.dstService.attrs = ou st Phone > > Regards, > > Gunter > > > > > Von: [email protected] > [mailto:[email protected]] Im Auftrag von > [email protected] > Gesendet: Mittwoch, 16. Juni 2010 12:28 > An: Clément OUDOT > Cc: [email protected] > Betreff: [lsc-users] RE : ldap2ldap synchro tasks > > > By replacing "st" by "ou" it generates no error anymore. The problem is > that the result is not as I hoped to. In my source serveur the all the > units had an attibute telephoneNumber and not in the destination server. I > wished the synchro would add these attribute to the matching unit and > that is not done. > How can I do that? > > > -------- Message d'origine-------- > De: Clément OUDOT [mailto:[email protected]] > Date: mer. 16/06/2010 12:11 > À: François Chapuis ([email protected]) > Cc: [email protected] > Objet : Re: [lsc-users] ldap2ldap synchro tasks > > 2010/6/16 <[email protected]>: >> Hi >> I am trying to synchronize 2 ldap servers but it doesn't work. There is >> something I have certainly misunderstood in my lsc.properties. >> The connection to the sources and destination are correct. >> I have modified the lsc.properties-sample from the folder etc in a >> lsc.properties and executed this command : bin/lsc -f etc -c all -s all >> -n >> Here are the errors I obtain : >> >> juin 16 11:12:41 - ERROR - Error while looking for (st=2b) in >> ou=UnitLevel1a: ja >> vax.naming.ServiceUnavailableException: 192.168.6.105:10389; socket >> closed; >> rema >> ining name 'ou=UnitLevel1a' >> juin 16 11:12:41 - ERROR - Error while synchronizing ID >> ou=UnitLevel4b,ou=UnitLe >> vel3a,ou=UnitLevel2a,ou=UnitLevel1a: >> javax.naming.ServiceUnavailableException: 1 >> 92.168.6.105:10389; socket closed; remaining name 'ou=UnitLevel1a' >> dn: >> ou=UnitLevel4b,ou=UnitLevel3a,ou=UnitLevel2a,ou=UnitLevel1a,dc=testDomain,dc >> =com >> changetype: modrdn >> newrdn: ou=UnitLevel4b >> deleteoldrdn: 1 >> newsuperior: ou=UnitLevel1a,dc=testDomain,dc=com >> >> juin 16 11:12:41 - ERROR - Error while looking for (st=4a) in >> ou=UnitLevel1a: ja >> vax.naming.CommunicationException: Software caused connection abort: >> recv >> failed >> [Root exception is java.net.SocketException: Software caused connection >> abort: >> recv failed]; remaining name 'ou=UnitLevel1a' >> juin 16 11:12:41 - ERROR - Connection lost! Aborting. >> juin 16 11:12:41 - ERROR - Error while synchronizing ID >> ou=UnitLevel4b,ou=UnitLe >> vel3a,ou=UnitLevel2a,ou=UnitLevel1a: >> javax.naming.CommunicationException: >> Softwa >> re caused connection abort: recv failed [Root exception is >> java.net.SocketExcept >> ion: Software caused connection abort: recv failed]; remaining name >> 'ou=UnitLeve >> l1a' >> dn: >> ou=UnitLevel4b,ou=UnitLevel3a,ou=UnitLevel2a,ou=UnitLevel1a,dc=testDomain,dc >> =com >> changetype: modrdn >> newrdn: ou=UnitLevel4b >> deleteoldrdn: 1 >> newsuperior: ou=UnitLevel1a,dc=testDomain,dc=com >> >> juin 16 11:12:41 - INFO - Starting clean for ADpam >> juin 16 11:12:41 - ERROR - javax.naming.CommunicationException: Software >> caused >> connection abort: recv failed [Root exception is >> java.net.SocketException: >> Softw >> are caused connection abort: recv failed]; remaining name >> 'ou=UnitLevel1a' >> juin 16 11:12:41 - ERROR - Empty or non existant destination (no IDs >> found) >> >> My hierarchy is simple as you can see from my ldif : >> version: 1 >> dn: dc=testDomain,dc=com >> objectClass: dcObject >> objectClass: organization >> o: testOrganisation >> dc: testDomain >> >> dn: cn=Manager,dc=testDomain,dc=com >> objectClass: organizationalRole >> cn: Manager >> >> dn: ou=UnitLevel1a,dc=testDomain,dc=com >> st: 1a >> ou: UnitLevel1a >> objectClass: organizationalUnit >> telephoneNumber: 0400000000 >> >> dn: ou=UnitLevel1b,dc=testDomain,dc=com >> st: 1b >> ou: UnitLevel1b >> objectClass: organizationalUnit >> telephoneNumber: 0500000000 >> >> dn: ou=UnitLevel2a,ou=UnitLevel1a,dc=testDomain,dc=com >> telephoneNumber: 0478000000 >> st: 2a >> ou: UnitLevel2a >> objectClass: organizationalUnit >> >> dn: ou=UnitLevel2b,ou=UnitLevel1a,dc=testDomain,dc=com >> telephoneNumber: 0477000000 >> st: 2b >> ou: UnitLevel2b >> objectClass: organizationalUnit >> >> I am sure that the problem comes from something wrong in my >> lsc.properties >> and this particular extract: >> # List of defined tasks, seperated by commas >> lsc.tasks = ADpam >> >> # Java class name for the service to read objects from the source >> # Either "org.lsc.jndi.SimpleJndiSrcService" for ldap2ldap, or >> # "org.lsc.service.SimpleJdbcSrcService" for db2ldap >> # According to which service you use here, you only need *one* of the >> following sections >> lsc.tasks.ADpam.srcService = org.lsc.jndi.SimpleJndiSrcService >> >> >> ### SimpleJndiSrcService parameters >> # The parameters in this section only apply to the SimpleJndiSrcService >> # This section can safely be deleted if you are not using ldap2ldap >> synchronization. >> >> # Base DN for searches in the directory >> lsc.tasks.ADpam.srcService.baseDn = ou=UnitLevel1a >> >> # Filter to list all entries to synchronize >> lsc.tasks.ADpam.srcService.filterAll = >> (&(st=*)(objectClass=organizationalUnit)) >> >> # Attributes to read from all entries used to match objects between >> source >> and destination >> lsc.tasks.ADpam.srcService.pivotAttrs = ou st >> >> # Filter to read one entry to synchronize, based on pivotAttrs above >> # This filter may contain one or several pivotAttrs defined above, like >> "{attributeName}" >> lsc.tasks.ADpam.srcService.filterId = (st={st}) >> >> # Attributes to read from each entry used to read and write data >> lsc.tasks.ADpam.srcService.attrs = ou st telephoneNumber >> >> Can you explain me what's wrong? > > > Hi, > > the log says that LDAP server at 192.168.6.105:10389 is not available. > Is the port correct? > > Clément. > > > > > _______________________________________________________________ > Ldap Synchronization Connector (LSC) - http://lsc-project.org > > lsc-users mailing list > [email protected] > http://lists.lsc-project.org/listinfo/lsc-users > _______________________________________________________________ Ldap Synchronization Connector (LSC) - http://lsc-project.org lsc-users mailing list [email protected] http://lists.lsc-project.org/listinfo/lsc-users

