2012/10/22 Christian Bösch <[email protected]>:
>
> On Oct 19, 2012, at 14:36 , Clément OUDOT <[email protected]> wrote:
>
>> 2012/10/19 Christian Bösch <[email protected]>:
>>> Hi Clement,
>>>
>>> This had the effect that all the members have been deleted in the AD group.
>>>
>>> Oct 19 14:19:15 - INFO - # Updating object
>>> CN=ou-is,OU=FHgroups,DC=ad,DC=abc,DC=net for groups
>>> dn: CN=ou-is,OU=FHgroups,DC=ad,DC=abc,DC=net
>>> changetype: modify
>>> delete: member
>>>
>>
>> So try with :
>>
>> var members = [];
>>
>> You should just get a compliant javacript code, LSC will jsut run it into
>> Rhino.
>
> Hi Clement,
>
> Still no success.
> So to test I set members manually:
>
> <string><![CDATA[
> var members = ['CN=Lastname
> Firstname,OU=FHusers,DC=ad,DC=abc,DC=net'];
> members
> ]]></string>
>
> But there is still the error:
>
> ERROR - Error while modifying entry CN=ou-is,OU=FHgroups,DC=ad,DC=abc,DC=net
> in directory :javax.naming.OperationNotSupportedException: [LDAP: error code
> 53 - 0000054F: SvcErr: DSID-031A120C, problem 5003 (WILL_NOT_PERFORM), data 0
> ]; remaining name 'CN=ou-is,OU=FHgroups'
> ERROR - Error while synchronizing ID
> CN=ou-is,OU=FHgroups,DC=ad,DC=abc,DC=net: java.lang.NullPointerException
> dn: CN=ou-is,OU=FHgroups,DC=ad,DC=abc,DC=net
> changetype: modify
> replace: member
> member: sun.org.mozilla.javascript.NativeArray@f052d5
>
Here is a sample code that transform uniqueMember values (DN) into
memberUid values (uid) :
<dataset>
<name>memberUid</name>
<policy>FORCE</policy>
<defaultValues></defaultValues>
<forceValues>
<string>
<![CDATA[
var membersSrcDn = srcBean.getDatasetValuesById("uniqueMember");
var memberUidValues = [];
for (var i=0; i<membersSrcDn.size(); i++) {
var memberSrcDn = membersSrcDn.get(i);
var agriUid = "";
try {
agriUid =
srcLdap.attribute(memberSrcDn, "uid").get(0);
} catch(e) {
continue;
}
var destMembersDn = ldap.search("ou=users",
"(agriUid=" + agriUid + ")");
if (destMembersDn.size() == 0 ||
destMembersDn.size() > 1) {
continue;
}
var destMemberDn = destMembersDn.get(0);
var memberUid = ldap.attribute(destMemberDn,
"uid").get(0);
memberUidValues.push (memberUid);
}
memberUidValues
]]>
</string>
</forceValues>
<createValues></createValues>
</dataset>
Hope this can help you to get a correct script.
Clément.
_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org
lsc-users mailing list
[email protected]
http://lists.lsc-project.org/listinfo/lsc-users