Thanks for your help, Clément... and putting up with my lack of skills ;)
This seems to be working for me now:
<dataset>
<name>member</name>
<policy>FORCE</policy>
<forceValues>
<string>
<![CDATA[js:
var membersSrcDn = srcBean.getDatasetValuesById("memberUid").toArray();
var memberUidValues = [];
for (var i=0; i<membersSrcDn.length; i++) {
var memberSrcDn =
"uid="+membersSrcDn[i]+",OU=People,DC=ldapcompany,DC=work";
<!-- java.lang.System.out.println("Ldap DN: " + memberSrcDn); -->
var agriUid = "";
try {
agriCN = srcLdap.attribute(memberSrcDn, "cn").get(0);
<!-- java.lang.System.out.println("agriCN: " + agriCN); -->
} catch (e) {
continue;
}
var destMembersDn =
"CN="+agriCN+",OU=Users,OU=ADDepartment,DC=adcompany,DC=local";
if (parseInt(destMembersDn.length) == 0 &&
parseInt(destMembersDn.length) > 1) {
continue;
} // not sure why Im doing this
try {
var isDestDN = ldap.attribute(destMembersDn,
'distinguishedname').get(0);
<!-- java.lang.System.out.println("isDestDN: " + isDestDN); -->
memberUidValues.push(destMembersDn);
} catch (e) {
continue;
}
}
memberUidValues
]]>
</string>
</forceValues>
</dataset>
Regards,
George
On 10/29/2012 07:41 PM, Clément OUDOT wrote:
2012/10/29 George Dobson <[email protected]>:
Hi Clement,
I tried a different example again and also using the println for debugging
as seen in another post.
<dataset>
<name>member</name>
<policy>FORCE</policy>
<forceValues>
<string>
<![CDATA[
var membersSrcDn = srcBean.getDatasetValuesById("memberUid").toArray();
var memberUidValues = [];
for (var i=0; i<membersSrcDn.length; i++) {
var memberSrcDn = membersSrcDn[i];
java.lang.System.out.println("memberSrc: " + memberSrcDn);
var agriUid = "";
try {
agriUid = srcLdap.attribute(memberSrcDn, "uid").get(0);
java.lang.System.out.println("agriUid: " + agriUid); // NOT
EXECUTED
} catch(e) {
continue;
}
var destMembersDn = ldap.search("ou=UsersTEST", "(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>
</dataset>
I'm seeing that the agriUid = srcLdap.attribute(memberSrcDn, "uid").get(0);
must be throwing the following (since the "agriUid: " line is never
printed):
memberSrc: akhoudair
Oct 29 11:45:11 - ERROR - Programmatic error
java.lang.reflect.InvocationTargetException: null
at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source) ~[na:na]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.6.0_24]
at java.lang.reflect.Method.invoke(Method.java:616) ~[na:1.6.0_24]
at org.lsc.jndi.ScriptableObject.wrap(ScriptableObject.java:92)
[lsc-core-2.0.jar:na]
at org.lsc.jndi.ScriptableObject.wrapString(ScriptableObject.java:155)
[lsc-core-2.0.jar:na]
at
org.lsc.jndi.ScriptableJndiServices.attribute(ScriptableJndiServices.java:211)
[lsc-core-2.0.jar:na]
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) ~[na:na]
Hi George,
you try to do a search on a DN but you just provide an uid...
Try for example : userDn = "uid="+memberSrcDn+",yourpeoplebranch" and
then do the srcLdap.attribute on userDn.
Clément.
_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org
lsc-users mailing list
[email protected]
http://lists.lsc-project.org/listinfo/lsc-users