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

Reply via email to