On Thursday 20 August 2015 12:30:35 Gallavardin Antoine wrote:
> I'm trying to sync OpenLDAP group to AD
> I follow the page
> http://lsc-project.org/wiki/documentation/tutorial/synchronizegroups I
> manage to fetch the DN of user to inject in AD Group
> but I get the following error :
>
> ----8<----8<----8<----8<----8<----8<----8<----8<----8<
> dn: CN=app-printer-admin,OU=Groups,OU=Lyon,DC=irstea,DC=priv
> changetype: modify
> replace: member
> member: [object Array]
> ----8<----8<----8<----8<----8<----8<----8<----8<----8<
> It seems that lsc didn't accept an array in the dataset
> any idea ?
>
>
>
> Antoine Gallavardin
> IT guy @ IRSTEA
>
>
> PS : This my jvascript
>
> function members() {
> var memberUidArray = srcBean.getAttributeValuesById("memberUid").toArray();
> var memberDNs=[];
> var destMembersDn="";
> var fetchCn;
> for (var i=0; i<memberUidArray.length ; i++){
> try {
> var filter = "(&(uid=" + memberUidArray[i] +
> ")(!(objectClass=gosaUserTemplate))(supannListeRouge=FALSE)(mail=*))";
> fetchCn = srcLdap.attribute(srcLdap.search("ou=people", filter ).get(0),
> "cn" ).get(0); destMembersDn =
> "CN="+fetchCn+",OU=People,OU=Lyon,DC=irstea,DC=priv";
> //java.lang.System.out.println("DESTDN : " + destMembersDn ); }
> catch (e) {
> continue;
> }
>
> memberDNs.push(destMembersDn);
> } Also;
> return memberDNs
> }
Here is my lsc.xml code for groups. It works with LSC 2.1 :
<dataset>
<name>member</name>
<policy>FORCE</policy>
<forceValues><string><![CDATA[js:
var memberUids =
srcBean.getDatasetValuesById("memberUid").toArray() ;
var members = new Array();
var dn;
for (var i=0; i<memberUids.length; i++ ) {
try {
// '' + pour forcer un "cast" du retour de
ldap.list en String ... Sinon, on a un
"sun.org.mozilla.javascript.internal.NativeJavaObject"
dn = '' + ldap.list("ou=People",
"(sAMAccountName=" + memberUids[i] + ")" ).get(0) + ',dc=ad,dc=unilim,dc=fr';
if (dn) { members.push(dn); }
} catch (e) { ; }
}
members
]]></string></forceValues>
</dataset>
Did you try ending your code without the "return" keyword ? It is the only
difference I can notice (but I am not a JS expert...).
--
Xavier Montagutelli
Responsable Service Infrastructure
Direction du Système d'Information - Pôle Ressources
Université de Limoges
123, avenue Albert Thomas - 87060 Limoges cedex
Tel : 05 87 08 08 30 (interne : 3830)
_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org
lsc-users mailing list
[email protected]
http://lists.lsc-project.org/listinfo/lsc-users