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]
2 Sample Groups of SOURCE:
-------------------------------
dn: cn=sports,ou=group,dc=work,dc=matrix
description: Sports
gidNumber: 10029
structuralObjectClass: posixGroup
entryUUID: b2b2a9bc-cb8d-1030-835b-17ecf4424f8d
creatorsName: cn=admin,dc=matrix
createTimestamp: 20120105020700Z
cn: sports
objectClass: top
objectClass: posixGroup
memberUid: amacdonald
memberUid: rhiggins
entryCSN: 20120612060436.979387Z#000000#000#000000
modifiersName: cn=admin,dc=matrix
modifyTimestamp: 20120612060436Z
dn: cn=icsoperations,ou=group,dc=work,dc=matrix
cn: icsoperations
description: Customer Service Operation Group
gidNumber: 10079
structuralObjectClass: posixGroup
entryUUID: dc82dac2-60d5-1031-8f5b-19e7bc9854f4
creatorsName: cn=admin,dc=matrix
createTimestamp: 20120713012857Z
memberUid: ahume
memberUid: amoore
memberUid: amutton
memberUid: fscoto
memberUid: ghogan
memberUid: jcrawley
memberUid: jgrant
memberUid: jlarsson
memberUid: lrapose
memberUid: mbonelli
memberUid: mwant
memberUid: ochloe
memberUid: pip
memberUid: sfitzgerald
memberUid: jdiaz
objectClass: top
objectClass: posixGroup
entryCSN: 20120926014310.008549Z#000000#000#000000
modifiersName: cn=admin,dc=matrix
modifyTimestamp: 20120926014310Z
2 Groups of DESTINATION:
-----------------------------
dn: CN=sports,OU=GroupsTEST,OU=The Work,DC=thework,DC=local
changetype: add
objectClass: top
objectClass: group
cn: sports
description: Sports
distinguishedName: CN=sports,OU=GroupsTEST,OU=The Work,DC=thework,DC=local
instanceType: 4
whenCreated: 20121029000955.0Z
whenChanged: 20121029000955.0Z
uSNCreated: 59679
uSNChanged: 59679
name: sports
objectGUID:: Wt6Oy49MFEm/mAdngdfidaw==
objectSid:: AQUAAAAAAAUVAAAABP8Vi+/BGllGgnfezRAAAA==
sAMAccountName: sports
sAMAccountType: 268435456
groupType: -2147483646
objectCategory: CN=Group,CN=Schema,CN=Configuration,DC=thework,DC=local
dSCorePropagationData: 16010101000000.0Z
dn: CN=icsoperations,OU=GroupsTEST,OU=The Work,DC=thework,DC=local
changetype: add
objectClass: top
objectClass: group
cn: icsoperations
description: Customer Service Operation Group
distinguishedName:
CN=icsoperations,OU=GroupsTEST,OU=The Work,DC=thework,DC=local
instanceType: 4
whenCreated: 20121029000956.0Z
whenChanged: 20121029000956.0Z
uSNCreated: 59724
uSNChanged: 59724
name: icsoperations
objectGUID:: 19RhY8LeddGcY9B+gjHx0g==
objectSid:: AQUAAAAAAAUVAAAABP8Vi+/BGjgmvfe3BAAAA==
sAMAccountName: icsoperations
sAMAccountType: 268435456
groupType: -2147483646
objectCategory: CN=Group,CN=Schema,CN=Configuration,DC=thework,DC=local
dSCorePropagationData: 16010101000000.0Z
The users reside in the destination in
OU=UsersTEST,OU=The Work,DC=thework,DC=local
Regards,
George
On 10/26/2012 06:04 PM, Clément OUDOT wrote:
2012/10/26 George Dobson <[email protected]>:
Hi All,
Still hacking at this... I've dramatically simplified the the member section
to hopefully figure this out. So far I can print the an array but need to
get the DN to assign to the member attribute.
<dataset>
<name>member</name>
<policy>FORCE</policy>
<forceValues>
<string>
<![CDATA[
umembers = srcBean.getDatasetValuesById("memberUid").toArray();
var xmembers = [];
for (var i=0; i<umembers.length; i++ ) {
xmembers.push(ldap.attribute(ldap.list("OU=UsersTEST",
"(sAMAccountName=" + (srcLdap.attribute(umembers[i], 'uid').get(0) +
")")).get(0), 'distinguishedname').get(0));
}
xmembers
]]>
</string>
</forceValues>
</dataset>
With the config above I get the following errors:
Oct 26 17:29:45 - ERROR - Programmatic error
java.lang.reflect.InvocationTargetException: null
at sun.reflect.GeneratedMethodAccessor13.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.GeneratedMethodAccessor12.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 sun.org.mozilla.javascript.MemberBox.invoke(MemberBox.java:161)
[na:1.7R2]
at
sun.org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:247)
[na:1.7R2]
at
sun.org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76)
[na:1.7R2]
at
sun.org.mozilla.javascript.gen._Unknown_source__360._c_script_0(<Unknown
source>:8) [na:na]
at sun.org.mozilla.javascript.gen._Unknown_source__360.call(<Unknown
source>) [na:na]
at
sun.org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:426)
[na:1.7R2]
at
com.sun.script.javascript.RhinoScriptEngine$1.superDoTopCall(RhinoScriptEngine.java:112)
[na:1.6.0_24]
at
com.sun.script.javascript.RhinoScriptEngine$1.doTopCall(RhinoScriptEngine.java:105)
[na:1.6.0_24]
at
sun.org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3178)
[na:1.7R2]
at sun.org.mozilla.javascript.gen._Unknown_source__360.call(<Unknown
source>) [na:na]
at sun.org.mozilla.javascript.gen._Unknown_source__360.exec(<Unknown
source>) [na:na]
at sun.org.mozilla.javascript.Context.evaluateReader(Context.java:1142)
[na:1.7R2]
at
com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:169)
[na:1.6.0_24]
at
com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:195)
[na:1.6.0_24]
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:233)
[na:1.6.0_24]
at
org.lsc.utils.JScriptEvaluator.instanceEval(JScriptEvaluator.java:196)
[lsc-core-2.0.jar:na]
at
org.lsc.utils.JScriptEvaluator.evalToStringList(JScriptEvaluator.java:113)
[lsc-core-2.0.jar:na]
at
org.lsc.utils.ScriptingEvaluator.evalToStringList(ScriptingEvaluator.java:109)
[lsc-core-2.0.jar:na]
at org.lsc.beans.BeanComparator.getValuesToSet(BeanComparator.java:597)
[lsc-core-2.0.jar:na]
at
org.lsc.beans.BeanComparator.getUpdatedObject(BeanComparator.java:297)
[lsc-core-2.0.jar:na]
at
org.lsc.beans.BeanComparator.calculateModifications(BeanComparator.java:178)
[lsc-core-2.0.jar:na]
at org.lsc.SynchronizeTask.run(AbstractSynchronize.java:739)
[lsc-core-2.0.jar:na]
at org.lsc.SynchronizeTask.run(AbstractSynchronize.java:663)
[lsc-core-2.0.jar:na]
at org.lsc.SynchronizeTask.run(AbstractSynchronize.java:633)
[lsc-core-2.0.jar:na]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
[na:1.6.0_24]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
[na:1.6.0_24]
at java.lang.Thread.run(Thread.java:679) [na:1.6.0_24]
Caused by: java.lang.NoSuchMethodError:
org.apache.directory.shared.i18n.I18n.err(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
at
org.apache.directory.shared.ldap.name.FastDnParser.nextChar(FastDnParser.java:581)
~[shared-ldap-0.9.19.jar:na]
at
org.apache.directory.shared.ldap.name.FastDnParser.matchEquals(FastDnParser.java:511)
~[shared-ldap-0.9.19.jar:na]
at
org.apache.directory.shared.ldap.name.FastDnParser.parseRdnInternal(FastDnParser.java:165)
~[shared-ldap-0.9.19.jar:na]
at
org.apache.directory.shared.ldap.name.FastDnParser.parseDn(FastDnParser.java:101)
~[shared-ldap-0.9.19.jar:na]
at
org.apache.directory.shared.ldap.name.DnParser.parseInternal(DnParser.java:90)
~[shared-ldap-0.9.19.jar:na]
at org.apache.directory.shared.ldap.name.DN.<init>(DN.java:165)
~[shared-ldap-0.9.19.jar:na]
at org.lsc.jndi.JndiServices.rewriteBase(JndiServices.java:615)
~[lsc-core-2.0.jar:na]
at org.lsc.jndi.JndiServices.readEntry(JndiServices.java:636)
~[lsc-core-2.0.jar:na]
at org.lsc.jndi.JndiServices.readEntry(JndiServices.java:610)
~[lsc-core-2.0.jar:na]
at
org.lsc.jndi.ScriptableJndiServices._attr(ScriptableJndiServices.java:216)
[lsc-core-2.0.jar:na]
... 36 common frames omitted
Oct 26 17:29:47 - ERROR - javax.script.ScriptException:
sun.org.mozilla.javascript.EcmaError: TypeError: Cannot call method "get" of
null (<Unknown source>#8) in <Unknown source> at line number 8
As you can see in the log :
Oct 26 17:29:47 - ERROR - javax.script.ScriptException:
sun.org.mozilla.javascript.EcmaError: TypeError: Cannot call method
"get" of null (<Unknown source>#8) in <Unknown source> at line number
8
Seems a .get() is called on a null value.
To help you, can you give a a LDIF sampel of a source entry and a
destination entry?
You can also reach us for commercial support if your project is
critical and you need a fast answer.
Clément.
_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org
lsc-users mailing list
[email protected]
http://lists.lsc-project.org/listinfo/lsc-users