If the dn is the same after and before, why don't you simply put:
lsc.tasks.ADpam.dn = srcBean.getDistinguishedName()

Regards,
Raphaël Ouazana.

Le Mer 16 juin 2010 18:00, [email protected] a écrit :
> I wanted to use the second solution so here was my DN creator :
> lsc.tasks.ADpam.dn = "ou=" + srcBean.getAttributeValueById("ou") +
> ","+srcBean.getDistinguishedName()
> There is now a new error
> juin 16 17:47:06 - WARN  - WARNING: updating the RDN of the entry will
> cancel ot
> her modifications! Relaunch synchronization to complete update.
> juin 16 17:47:06 - ERROR - Object ou=UnitLevel2b,ou=UnitLevel1a not
> deleted beca
> use it has children (LDAP error code 66 received). To delete this entry
> and it's
>  subtree, set the dst.java.naming.recursivedelete property to true
> juin 16 17:47:06 - ERROR - Error while synchronizing ID
> ou=UnitLevel2b,ou=UnitLe
> vel1a: java.lang.Exception: Technical problem while applying modifications
> to di
> rectory
> dn: ou=UnitLevel2b,ou=UnitLevel1a,dc=testDomain,dc=com
> changetype: modrdn
> newrdn: ou=UnitLevel2b
> deleteoldrdn: 1
> newsuperior:
> ou=UnitLevel2b,ou=UnitLevel1a,dc=testDomain,dc=com,dc=testDomain,dc
> =com
>
> It maybe want to delete the current slot in order to create a new one to
> the specified dn but it can't because it has children. Quite strange
> because I don't want to change the dn (the new and the ancient are the
> same).
>
>
> -------- Message d'origine--------
> De: Raphaël Ouazana-Sustowski [mailto:[email protected]]
> Date: mer. 16/06/2010 17:25
> À: François Chapuis ([email protected])
> Cc: Gunter Holzer; [email protected]
> Objet : Re: [lsc-users]  RE : RE :  ldap2ldap synchro tasks
>
> 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

Reply via email to