I forgot to add here that the groups are created, but contains no members.

On Tue, Jun 7, 2016 at 4:26 PM, Frederic Van Espen
<[email protected]> wrote:
> Hello Jon,
>
> Thanks for the tip! after your suggestion I modified the js code a
> bit. Our ldap directory already contains the uid of the member in the
> memberUid attributes of the group objects. Updated code looks like
> this:
> <snip>
>                 var membersSrcDn = srcBean.getDatasetValuesById("memberUid");
>                 var membersDstDn = [];
>
>                 for  (var i=0; i<membersSrcDn.size(); i++) {
>                   var uid = membersSrcDn.get(i);
>                   var destDn = ldap.search("OU=People",
> "(sAMAccountName=" + uid + ")");
>                   if (destDn.size() == 0 || destDn.size() > 1) {
>                     continue;
>                   }
>                   var destMemberDn = destDn.get(0) + "," +  
> ldap.getContextDn();
>                   membersDstDn.push(destMemberDn);
>                 }
>                 membersDstDn
> </snip>
>
> Now I get this output:
> Jun 07 16:20:18 - INFO  - Starting sync for group
> Jun 07 16:20:18 - DEBUG - In object
> "CN=vpn-smp-production,OU=Group,DC=adds,DC=example,DC=com":  List of
> attributes considered for writing in destination: [member, cn,
> description, objectClass]
> Jun 07 16:20:18 - DEBUG - In object
> "CN=vpn-smp-production,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "member" is in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=vpn-smp-production,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "member" will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=vpn-smp-production,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "cn" is in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=vpn-smp-production,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "cn" will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=vpn-smp-production,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "description" is in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=vpn-smp-production,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "description" will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=vpn-smp-production,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "objectClass" is in KEEP status
> Jun 07 16:20:19 - DEBUG - Entry
> "CN=vpn-smp-production,OU=Group,DC=adds,DC=example,DC=com" will not be
> written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=tech,OU=Group,DC=adds,DC=example,DC=com":  List of attributes
> considered for writing in destination: [member, cn, description,
> objectClass]
> Jun 07 16:20:19 - DEBUG - In object
> "CN=tech,OU=Group,DC=adds,DC=example,DC=com":  Attribute "member" is
> in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=tech,OU=Group,DC=adds,DC=example,DC=com":  Attribute "member" will
> not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=tech,OU=Group,DC=adds,DC=example,DC=com":  Attribute "cn" is in
> FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=tech,OU=Group,DC=adds,DC=example,DC=com":  Attribute "cn" will not
> be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=tech,OU=Group,DC=adds,DC=example,DC=com":  Attribute "description"
> is in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=tech,OU=Group,DC=adds,DC=example,DC=com":  Attribute "description"
> will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=tech,OU=Group,DC=adds,DC=example,DC=com":  Attribute "objectClass"
> is in KEEP status
> Jun 07 16:20:19 - DEBUG - Entry
> "CN=tech,OU=Group,DC=adds,DC=example,DC=com" will not be written to
> the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=finance,OU=Group,DC=adds,DC=example,DC=com":  List of attributes
> considered for writing in destination: [member, cn, description,
> objectClass]
> Jun 07 16:20:19 - DEBUG - In object
> "CN=finance,OU=Group,DC=adds,DC=example,DC=com":  Attribute "member"
> is in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=finance,OU=Group,DC=adds,DC=example,DC=com":  Attribute "member"
> will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=finance,OU=Group,DC=adds,DC=example,DC=com":  Attribute "cn" is in
> FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=finance,OU=Group,DC=adds,DC=example,DC=com":  Attribute "cn" will
> not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=finance,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "description" is in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=finance,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "description" will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=finance,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "objectClass" is in KEEP status
> Jun 07 16:20:19 - DEBUG - Entry
> "CN=finance,OU=Group,DC=adds,DC=example,DC=com" will not be written to
> the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=pm,OU=Group,DC=adds,DC=example,DC=com":  List of attributes
> considered for writing in destination: [member, cn, description,
> objectClass]
> Jun 07 16:20:19 - DEBUG - In object
> "CN=pm,OU=Group,DC=adds,DC=example,DC=com":  Attribute "member" is in
> FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=pm,OU=Group,DC=adds,DC=example,DC=com":  Attribute "member" will
> not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=pm,OU=Group,DC=adds,DC=example,DC=com":  Attribute "cn" is in
> FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=pm,OU=Group,DC=adds,DC=example,DC=com":  Attribute "cn" will not
> be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=pm,OU=Group,DC=adds,DC=example,DC=com":  Attribute "description"
> is in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=pm,OU=Group,DC=adds,DC=example,DC=com":  Attribute "description"
> will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=pm,OU=Group,DC=adds,DC=example,DC=com":  Attribute "objectClass"
> is in KEEP status
> Jun 07 16:20:19 - DEBUG - Entry
> "CN=pm,OU=Group,DC=adds,DC=example,DC=com" will not be written to the
> destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=smbFinanceScanner,OU=Group,DC=adds,DC=example,DC=com":  List of
> attributes considered for writing in destination: [member, cn,
> description, objectClass]
> Jun 07 16:20:19 - DEBUG - In object
> "CN=smbFinanceScanner,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "member" is in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=smbFinanceScanner,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "member" will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=smbFinanceScanner,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "cn" is in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=smbFinanceScanner,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "cn" will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=smbFinanceScanner,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "description" is in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=smbFinanceScanner,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "description" will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=smbFinanceScanner,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "objectClass" is in KEEP status
> Jun 07 16:20:19 - DEBUG - Entry
> "CN=smbFinanceScanner,OU=Group,DC=adds,DC=example,DC=com" will not be
> written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=service,OU=Group,DC=adds,DC=example,DC=com":  List of attributes
> considered for writing in destination: [member, cn, description,
> objectClass]
> Jun 07 16:20:19 - DEBUG - In object
> "CN=service,OU=Group,DC=adds,DC=example,DC=com":  Attribute "member"
> is in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=service,OU=Group,DC=adds,DC=example,DC=com":  Attribute "member"
> will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=service,OU=Group,DC=adds,DC=example,DC=com":  Attribute "cn" is in
> FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=service,OU=Group,DC=adds,DC=example,DC=com":  Attribute "cn" will
> not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=service,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "description" is in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=service,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "description" will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=service,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "objectClass" is in KEEP status
> Jun 07 16:20:19 - DEBUG - Entry
> "CN=service,OU=Group,DC=adds,DC=example,DC=com" will not be written to
> the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=dev,OU=Group,DC=adds,DC=example,DC=com":  List of attributes
> considered for writing in destination: [member, cn, description,
> objectClass]
> Jun 07 16:20:19 - DEBUG - In object
> "CN=dev,OU=Group,DC=adds,DC=example,DC=com":  Attribute "member" is in
> FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=dev,OU=Group,DC=adds,DC=example,DC=com":  Attribute "member" will
> not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=dev,OU=Group,DC=adds,DC=example,DC=com":  Attribute "cn" is in
> FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=dev,OU=Group,DC=adds,DC=example,DC=com":  Attribute "cn" will not
> be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=dev,OU=Group,DC=adds,DC=example,DC=com":  Attribute "description"
> is in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=dev,OU=Group,DC=adds,DC=example,DC=com":  Attribute "description"
> will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=dev,OU=Group,DC=adds,DC=example,DC=com":  Attribute "objectClass"
> is in KEEP status
> Jun 07 16:20:19 - DEBUG - Entry
> "CN=dev,OU=Group,DC=adds,DC=example,DC=com" will not be written to the
> destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=smpadmins,OU=Group,DC=adds,DC=example,DC=com":  List of attributes
> considered for writing in destination: [member, cn, description,
> objectClass]
> Jun 07 16:20:19 - DEBUG - In object
> "CN=smpadmins,OU=Group,DC=adds,DC=example,DC=com":  Attribute "member"
> is in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=smpadmins,OU=Group,DC=adds,DC=example,DC=com":  Attribute "member"
> will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=smpadmins,OU=Group,DC=adds,DC=example,DC=com":  Attribute "cn" is
> in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=smpadmins,OU=Group,DC=adds,DC=example,DC=com":  Attribute "cn"
> will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=smpadmins,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "description" is in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=smpadmins,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "description" will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=smpadmins,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "objectClass" is in KEEP status
> Jun 07 16:20:19 - DEBUG - Entry
> "CN=smpadmins,OU=Group,DC=adds,DC=example,DC=com" will not be written
> to the destination
> Jun 07 16:20:19 - ERROR - There is no future associated with operation
> message ID 12, perhaps the operation would have been completed
> Jun 07 16:20:19 - ERROR - There is no future associated with operation
> message ID 12, perhaps the operation would have been completed
> Jun 07 16:20:19 - DEBUG - In object
> "CN=sales,OU=Group,DC=adds,DC=example,DC=com":  List of attributes
> considered for writing in destination: [member, cn, description,
> objectClass]
> Jun 07 16:20:19 - DEBUG - In object
> "CN=sales,OU=Group,DC=adds,DC=example,DC=com":  Attribute "member" is
> in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=sales,OU=Group,DC=adds,DC=example,DC=com":  Attribute "member"
> will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=sales,OU=Group,DC=adds,DC=example,DC=com":  Attribute "cn" is in
> FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=sales,OU=Group,DC=adds,DC=example,DC=com":  Attribute "cn" will
> not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=sales,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "description" is in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=sales,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "description" will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=sales,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "objectClass" is in KEEP status
> Jun 07 16:20:19 - DEBUG - Entry
> "CN=sales,OU=Group,DC=adds,DC=example,DC=com" will not be written to
> the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=svn,OU=Group,DC=adds,DC=example,DC=com":  List of attributes
> considered for writing in destination: [member, cn, description,
> objectClass]
> Jun 07 16:20:19 - DEBUG - In object
> "CN=svn,OU=Group,DC=adds,DC=example,DC=com":  Attribute "member" is in
> FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=svn,OU=Group,DC=adds,DC=example,DC=com":  Attribute "member" will
> not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=svn,OU=Group,DC=adds,DC=example,DC=com":  Attribute "cn" is in
> FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=svn,OU=Group,DC=adds,DC=example,DC=com":  Attribute "cn" will not
> be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=svn,OU=Group,DC=adds,DC=example,DC=com":  Attribute "description"
> is in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=svn,OU=Group,DC=adds,DC=example,DC=com":  Attribute "description"
> will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=svn,OU=Group,DC=adds,DC=example,DC=com":  Attribute "objectClass"
> is in KEEP status
> Jun 07 16:20:19 - DEBUG - Entry
> "CN=svn,OU=Group,DC=adds,DC=example,DC=com" will not be written to the
> destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=webadmins,OU=Group,DC=adds,DC=example,DC=com":  List of attributes
> considered for writing in destination: [member, cn, description,
> objectClass]
> Jun 07 16:20:19 - DEBUG - In object
> "CN=webadmins,OU=Group,DC=adds,DC=example,DC=com":  Attribute "member"
> is in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=webadmins,OU=Group,DC=adds,DC=example,DC=com":  Attribute "member"
> will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=webadmins,OU=Group,DC=adds,DC=example,DC=com":  Attribute "cn" is
> in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=webadmins,OU=Group,DC=adds,DC=example,DC=com":  Attribute "cn"
> will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=webadmins,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "description" is in FORCE status
> Jun 07 16:20:19 - DEBUG - In object
> "CN=webadmins,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "description" will not be written to the destination
> Jun 07 16:20:19 - DEBUG - In object
> "CN=webadmins,OU=Group,DC=adds,DC=example,DC=com":  Attribute
> "objectClass" is in KEEP status
>
> Is there any way I can enable more debugging? Like printing the whole
> arrays or something like that?
>
> Thanks,
>
> Frederic
>
> On Tue, Jun 7, 2016 at 4:05 PM, Jon C Kidder <[email protected]> wrote:
>> It appears you do not have a dataset for cn.  Cn is the rdn of the record 
>> and you must include at least one cn value that matches the cn value of the 
>> dn.
>>
>> -Jon C. Kidder
>> American Electric Power
>> Middleware Services
>> Email: [email protected]
>> Phone: 614-716-4970
>>
>> -----Original Message-----
>> From: [email protected] 
>> [mailto:[email protected]] On Behalf Of Frederic Van 
>> Espen
>> Sent: Tuesday, June 07, 2016 9:51 AM
>> To: [email protected]
>> Subject: [lsc-users] group membership sync from openldap to active directory
>>
>>  This is an EXTERNAL email. STOP. THINK before you CLICK links or OPEN 
>> attachments.
>>
>> **********************************************************************
>> Hi,
>>
>> I'm making a first attempt to synchronize group membership from our openldap 
>> server to our active directory server. Groups are created correctly, but 
>> unfortunately I'm receiving some errors while syncing the group membership. 
>> Here's the config I'm using right now:
>>
>> <lsc xmlns="http://lsc-project.org/XSD/lsc-core-2.1.xsd"; revision="0">
>>   <connections>
>>     <!-- Connection to Active Directory. -->
>>     <ldapConnection>
>>       <name>AD</name>
>>       <url>ldaps://addc.adds.example.com:636/dc=example,dc=com</url>
>>       
>> <username>cn=Administrator,cn=Users,dc=adds,dc=example,dc=com</username>
>>       <password>REDACTED</password>
>>       <authentication>SIMPLE</authentication>
>>       <pageSize>1000</pageSize>
>>     </ldapConnection>
>>     <!-- Connection to OpenLDAP. -->
>>     <ldapConnection>
>>       <name>openldap</name>
>>       <url>ldaps://ldap.intranet.example.com:636/dc=example,dc=com</url>
>>       <username>cn=admin,dc=example,dc=com</username>
>>       <password>REDACTED</password>
>>       <authentication>SIMPLE</authentication>
>>       <pageSize>1000</pageSize>
>>     </ldapConnection>
>>   </connections>
>>   <!-- Tasks configuration. -->
>>   <tasks>
>>     <!-- Task for synchronize users from OpenLDAP to Active Directory. -->
>>     <task>
>>       <name>SyncPeople</name>
>>       <bean>org.lsc.beans.SimpleBean</bean>
>>       <!-- LDAP source service. -->
>>       <ldapSourceService>
>>         <name>openldap-source-service</name>
>>         <connection reference="openldap" />
>>         <baseDn>ou=People,dc=example,dc=com</baseDn>
>>         <pivotAttributes>
>>           <string>uid</string>
>>         </pivotAttributes>
>>         <fetchedAttributes>
>>           <string>cn</string>
>>           <string>description</string>
>>           <string>givenName</string>
>>           <string>mail</string>
>>           <string>sn</string>
>>           <string>uid</string>
>>           <string>userpassword</string>
>>           <string>homePhone</string>
>>           <string>randomstuff</string>
>>         </fetchedAttributes>
>>         <getAllFilter><![CDATA[(objectClass=inetOrgPerson)]]></getAllFilter>
>>         
>> <getOneFilter><![CDATA[(&(objectClass=inetOrgPerson)(uid={uid}))]]></getOneFilter>
>>         
>> <cleanFilter><![CDATA[(&(objectClass=inetOrgPerson)(uid={sAMAccountName}))]]></cleanFilter>
>>       </ldapSourceService>
>>       <!-- LDAP destination service. -->
>>       <ldapDestinationService>
>>         <name>ad-dst-service</name>
>>         <connection reference="AD" />
>>         <baseDn>ou=People,dc=adds,dc=example,dc=com</baseDn>
>>         <pivotAttributes>
>>           <string>sAMAccountName</string>
>>         </pivotAttributes>
>>         <fetchedAttributes>
>>           <string>objectclass</string>
>>           <string>cn</string>
>>           <string>description</string>
>>           <string>givenName</string>
>>           <string>mail</string>
>>           <string>pwdLastSet</string>
>>           <string>sAMAccountName</string>
>>           <string>sn</string>
>>           <string>unicodePwd</string>
>>           <string>userAccountControl</string>
>>           <string>userPrincipalName</string>
>>           <string>homePhone</string>
>>         </fetchedAttributes>
>>         <getAllFilter><![CDATA[(objectClass=user)]]></getAllFilter>
>>         
>> <getOneFilter><![CDATA[(&(objectClass=user)(sAMAccountName={uid}))]]></getOneFilter>
>>       </ldapDestinationService>
>>       <!-- Synchronization rules. -->
>>       <propertiesBasedSyncOptions>
>>         <mainIdentifier>js:"cn=" +
>> srcBean.getDatasetFirstValueById("cn") + ",ou=" + getOu(srcBean.DN) + 
>> ",dc=adds,dc=example,dc=com"</mainIdentifier>
>>         <defaultDelimiter>;</defaultDelimiter>
>>         <defaultPolicy>FORCE</defaultPolicy>
>>         <conditions>
>>           <create>true</create>
>>           <update>true</update>
>>           <delete>true</delete>
>>           <changeId>true</changeId>
>>         </conditions>
>>         <!-- objectClass = user/organizationalPerson/person/top -->
>>         <dataset>
>>           <name>objectClass</name>
>>           <policy>KEEP</policy>
>>           <createValues>
>>             <string>"user"</string>
>>             <string>"organizationalPerson"</string>
>>             <string>"person"</string>
>>             <string>"top"</string>
>>           </createValues>
>>           <delimiter>,</delimiter>
>>         </dataset>
>>         <!-- sAMAccountName = uid -->
>>         <dataset>
>>           <name>sAMAccountName</name>
>>           <policy>KEEP</policy>
>>           <createValues>
>>             <string>srcBean.getDatasetFirstValueById("uid")</string>
>>           </createValues>
>>         </dataset>
>>         <!-- userPrincipalName = uid + "@domainName.org" -->
>>         <dataset>
>>           <name>userPrincipalName</name>
>>           <policy>FORCE</policy>
>>           <forceValues>
>>             <string>srcBean.getDatasetFirstValueById("uid") + 
>> "@example.com"</string>
>>           </forceValues>
>>         </dataset>
>>         <!-- Configuring account like normal and non admin. -->
>>         <dataset>
>>           <name>userAccountControl</name>
>>           <policy>KEEP</policy>
>>           <createValues>
>>             <string>AD.userAccountControlSet( "0", [ 
>> AD.UAC_SET_PASSWD_NOTREQD,AD.UAC_SET_NORMAL_ACCOUNT ])</string>
>>           </createValues>
>>         </dataset>
>>         <!-- pwdLastSet = -1; no require to user for changing password on 
>> next logon. -->
>>         <dataset>
>>           <name>pwdLastSet</name>
>>           <policy>KEEP</policy>
>>           <createValues>
>>             <string>"0"</string>
>>           </createValues>
>>         </dataset>
>>         <dataset>
>>           <name>unicodePwd</name>
>>           <policy>KEEP</policy>
>>           <createValues>
>>             
>> <string>AD.getUnicodePwd(srcBean.getDatasetFirstValueById("userpassword"))</string>
>>           </createValues>
>>         </dataset>
>>       </propertiesBasedSyncOptions>
>>       <scriptInclude>
>>         <string>../scripts/getOu.js</string>
>>       </scriptInclude>
>>     </task>
>>     <!-- Task for synchronize groups from OpenLDAP to Active Directory. -->
>>
>>     <task>
>>       <name>group</name>
>>       <bean>org.lsc.beans.SimpleBean</bean>
>>       <asyncLdapSourceService>
>>         <name>group-source-service</name>
>>         <connection reference="openldap" />
>>         <baseDn>ou=Group,dc=example,dc=com</baseDn>
>>         <pivotAttributes>
>>           <string>cn</string>
>>         </pivotAttributes>
>>         <fetchedAttributes>
>>           <string>cn</string>
>>           <string>description</string>
>>           <string>memberUid</string>
>>         </fetchedAttributes>
>>         <getAllFilter><![CDATA[(objectClass=posixGroup)]]></getAllFilter>
>>         
>> <getOneFilter><![CDATA[(&(objectClass=posixGroup)(cn={cn}))]]></getOneFilter>
>>         
>> <cleanFilter><![CDATA[(&(objectClass=posixGroup)(cn={cn}))]]></cleanFilter>
>>         <serverType>OpenLDAP</serverType>
>>       </asyncLdapSourceService>
>>       <ldapDestinationService>
>>         <name>group-dst-service</name>
>>         <connection reference="AD" />
>>         <baseDn>OU=Group,DC=adds,DC=example,DC=com</baseDn>
>>         <pivotAttributes>
>>           <string>cn</string>
>>         </pivotAttributes>
>>         <fetchedAttributes>
>>           <string>cn</string>
>>           <string>description</string>
>>           <string>member</string>
>>           <string>objectClass</string>
>>         </fetchedAttributes>
>>         <getAllFilter><![CDATA[(objectClass=group)]]></getAllFilter>
>>         
>> <getOneFilter><![CDATA[(&(objectClass=group)(cn={cn}))]]></getOneFilter>
>>       </ldapDestinationService>
>>       <propertiesBasedSyncOptions>
>>         <mainIdentifier>js:"cn=" +
>> javax.naming.ldap.Rdn.escapeValue(srcBean.getDatasetFirstValueById("cn"))
>> + ",OU=Group,DC=adds,DC=example,DC=com"</mainIdentifier>
>>         <defaultDelimiter>;</defaultDelimiter>
>>         <defaultPolicy>FORCE</defaultPolicy>
>>         <conditions>
>>           <create>true</create>
>>           <update>true</update>
>>           <delete>true</delete>
>>           <changeId>true</changeId>
>>         </conditions>
>>         <dataset>
>>           <name>objectclass</name>
>>           <policy>KEEP</policy>
>>           <createValues>
>>             <string>"group"</string>
>>             <string>"top"</string>
>>           </createValues>
>>         </dataset>
>>         <dataset>
>>           <name>member</name>
>>           <policy>FORCE</policy>
>>           <forceValues>
>>             <string>
>> <![CDATA[
>>               rdjs:
>>
>>                 var membersSrcDn = srcBean.getDatasetValuesById("memberUid");
>>                 var membersDstDn = [];
>>
>>                 for  (var i=0; i<membersSrcDn.size(); i++) {
>>                   var memberSrcDn = membersSrcDn.get(i);
>>                   var uid = "";
>>                   try {
>>                     uid = srcLdap.attribute(memberSrcDn, "uid").get(0);
>>                   } catch(e) {
>>                     continue;
>>                   }
>>                   var destDn = ldap.search("ou=People", "(sAMAccountName=" + 
>> uid + ")");
>>                   if (destDn.size() == 0 || destDn.size() > 1) {
>>                     continue;
>>                   }
>>                   var destMemberDn = destDn.get(0) + "," +  
>> ldap.getContextDn();
>>                   membersDstDn.push(destMemberDn);
>>                 }
>>                 membersDstDn
>>              ]]>
>>             </string>
>>           </forceValues>
>>         </dataset>
>>       </propertiesBasedSyncOptions>
>>     </task>
>>   </tasks>
>> </lsc>
>>
>>
>> This is the error I'm receiving:
>> Jun 07 15:43:40 - ERROR - All entries: 69, to modify entries: 1, 
>> successfully modified entries: 0, errors: 1 Jun 07 15:43:40 - INFO  - 
>> Starting clean for SyncPeople Jun 07 15:43:40 - DEBUG - Using pagedResults 
>> control for 1000 entries at a time Jun 07 15:43:41 - INFO  - All entries: 
>> 68, to modify entries: 0, successfully modified entries: 0, errors: 0 Jun 07 
>> 15:43:41 - INFO  - Starting sync for group Jun 07 15:43:41 - DEBUG - In 
>> object
>> "CN=vpn-smp-production,OU=Group,DC=adds,DC=example,DC=com":  List of 
>> attributes considered for writing in destination: [member, cn, description, 
>> objectClass] Jun 07 15:43:41 - DEBUG - In object
>> "CN=vpn-smp-production,OU=Group,DC=adds,DC=example,DC=com":  Attribute 
>> "member" is in FORCE status Jun 07 15:43:41 - ERROR - Programmatic error
>> java.lang.reflect.InvocationTargetException: null at 
>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_67] 
>> at 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> ~[na:1.7.0_67]
>> at 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> ~[na:1.7.0_67]
>> at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_67] at 
>> org.lsc.jndi.ScriptableObject.wrap(ScriptableObject.java:92)
>> [lsc-core-2.1.3.jar:na]
>> at org.lsc.jndi.ScriptableObject.wrapString(ScriptableObject.java:155)
>> [lsc-core-2.1.3.jar:na]
>> at 
>> org.lsc.jndi.ScriptableJndiServices.attribute(ScriptableJndiServices.java:211)
>> [lsc-core-2.1.3.jar:na]
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
>> ~[na:1.7.0_67] at 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> ~[na:1.7.0_67]
>> at 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> ~[na:1.7.0_67]
>> at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_67] at 
>> sun.org.mozilla.javascript.internal.MemberBox.invoke(MemberBox.java:167)
>> [na:1.7.0_67]
>> at 
>> sun.org.mozilla.javascript.internal.NativeJavaMethod.call(NativeJavaMethod.java:245)
>> [na:1.7.0_67]
>> at 
>> sun.org.mozilla.javascript.internal.Interpreter.interpretLoop(Interpreter.java:1706)
>> [na:1.7.0_67]
>> at 
>> sun.org.mozilla.javascript.internal.Interpreter.interpret(Interpreter.java:849)
>> [na:1.7.0_67]
>> at 
>> sun.org.mozilla.javascript.internal.InterpretedFunction.call(InterpretedFunction.java:162)
>> [na:1.7.0_67]
>> at 
>> sun.org.mozilla.javascript.internal.ContextFactory.doTopCall(ContextFactory.java:430)
>> [na:1.7.0_67]
>> at 
>> com.sun.script.javascript.RhinoScriptEngine$1.superDoTopCall(RhinoScriptEngine.java:116)
>> [na:1.7.0_67]
>> at 
>> com.sun.script.javascript.RhinoScriptEngine$1.doTopCall(RhinoScriptEngine.java:109)
>> [na:1.7.0_67]
>> at 
>> sun.org.mozilla.javascript.internal.ScriptRuntime.doTopCall(ScriptRuntime.java:3160)
>> [na:1.7.0_67]
>> at 
>> sun.org.mozilla.javascript.internal.InterpretedFunction.exec(InterpretedFunction.java:173)
>> [na:1.7.0_67]
>> at 
>> sun.org.mozilla.javascript.internal.Context.evaluateReader(Context.java:1169)
>> [na:1.7.0_67]
>> at 
>> com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:214)
>> [na:1.7.0_67]
>> at 
>> com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:240)
>> [na:1.7.0_67]
>> at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:233)
>> [na:1.7.0_67]
>> at org.lsc.utils.JScriptEvaluator.instanceEval(JScriptEvaluator.java:222)
>> [lsc-core-2.1.3.jar:na]
>> at org.lsc.utils.JScriptEvaluator.evalToStringList(JScriptEvaluator.java:119)
>> [lsc-core-2.1.3.jar:na]
>> at 
>> org.lsc.utils.ScriptingEvaluator.evalToStringList(ScriptingEvaluator.java:136)
>> [lsc-core-2.1.3.jar:na]
>> at org.lsc.beans.BeanComparator.getValuesToSet(BeanComparator.java:602)
>> [lsc-core-2.1.3.jar:na]
>> at org.lsc.beans.BeanComparator.getUpdatedObject(BeanComparator.java:284)
>> [lsc-core-2.1.3.jar:na]
>> at 
>> org.lsc.beans.BeanComparator.calculateModifications(BeanComparator.java:176)
>> [lsc-core-2.1.3.jar:na]
>> at org.lsc.SynchronizeTask.run(AbstractSynchronize.java:773)
>> [lsc-core-2.1.3.jar:na]
>> at org.lsc.SynchronizeTask.run(AbstractSynchronize.java:707)
>> [lsc-core-2.1.3.jar:na]
>> at 
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>> [na:1.7.0_67]
>> at 
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>> [na:1.7.0_67]
>> at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67] Caused by: 
>> java.lang.RuntimeException:
>> org.apache.directory.api.ldap.model.exception.LdapInvalidDnException:
>> ERR_04202 A value is missing on some RDN at 
>> org.lsc.jndi.JndiServices.rewriteBase(JndiServices.java:659)
>> ~[lsc-core-2.1.3.jar:na]
>> at org.lsc.jndi.JndiServices.doReadEntry(JndiServices.java:691)
>> ~[lsc-core-2.1.3.jar:na]
>> at org.lsc.jndi.JndiServices.readEntry(JndiServices.java:666)
>> ~[lsc-core-2.1.3.jar:na]
>> at org.lsc.jndi.ScriptableJndiServices._attr(ScriptableJndiServices.java:218)
>> [lsc-core-2.1.3.jar:na]
>> ... 36 common frames omitted
>> Caused by: 
>> org.apache.directory.api.ldap.model.exception.LdapInvalidDnException:
>> ERR_04202 A value is missing on some RDN at 
>> org.apache.directory.api.ldap.model.name.Dn.<init>(Dn.java:279)
>> ~[api-all-1.0.0-M22.jar:1.0.0-M22]
>> at org.apache.directory.api.ldap.model.name.Dn.<init>(Dn.java:211)
>> ~[api-all-1.0.0-M22.jar:1.0.0-M22]
>> at org.lsc.jndi.JndiServices.rewriteBase(JndiServices.java:647)
>> ~[lsc-core-2.1.3.jar:na]
>> ... 39 common frames omitted
>> Jun 07 15:43:41 - ERROR - Programmatic error
>> java.lang.reflect.InvocationTargetException: null at 
>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_67] 
>> at 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> ~[na:1.7.0_67]
>> at 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> ~[na:1.7.0_67]
>> at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_67] at 
>> org.lsc.jndi.ScriptableObject.wrap(ScriptableObject.java:92)
>> [lsc-core-2.1.3.jar:na]
>> at org.lsc.jndi.ScriptableObject.wrapString(ScriptableObject.java:155)
>> [lsc-core-2.1.3.jar:na]
>> at 
>> org.lsc.jndi.ScriptableJndiServices.attribute(ScriptableJndiServices.java:211)
>> [lsc-core-2.1.3.jar:na]
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
>> ~[na:1.7.0_67] at 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> ~[na:1.7.0_67]
>> at 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> ~[na:1.7.0_67]
>> at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_67] at 
>> sun.org.mozilla.javascript.internal.MemberBox.invoke(MemberBox.java:167)
>> [na:1.7.0_67]
>> at 
>> sun.org.mozilla.javascript.internal.NativeJavaMethod.call(NativeJavaMethod.java:245)
>> [na:1.7.0_67]
>> at 
>> sun.org.mozilla.javascript.internal.Interpreter.interpretLoop(Interpreter.java:1706)
>> [na:1.7.0_67]
>> at 
>> sun.org.mozilla.javascript.internal.Interpreter.interpret(Interpreter.java:849)
>> [na:1.7.0_67]
>> at 
>> sun.org.mozilla.javascript.internal.InterpretedFunction.call(InterpretedFunction.java:162)
>> [na:1.7.0_67]
>> at 
>> sun.org.mozilla.javascript.internal.ContextFactory.doTopCall(ContextFactory.java:430)
>> [na:1.7.0_67]
>> at 
>> com.sun.script.javascript.RhinoScriptEngine$1.superDoTopCall(RhinoScriptEngine.java:116)
>> [na:1.7.0_67]
>> at 
>> com.sun.script.javascript.RhinoScriptEngine$1.doTopCall(RhinoScriptEngine.java:109)
>> [na:1.7.0_67]
>> at 
>> sun.org.mozilla.javascript.internal.ScriptRuntime.doTopCall(ScriptRuntime.java:3160)
>> [na:1.7.0_67]
>> at 
>> sun.org.mozilla.javascript.internal.InterpretedFunction.exec(InterpretedFunction.java:173)
>> [na:1.7.0_67]
>> at 
>> sun.org.mozilla.javascript.internal.Context.evaluateReader(Context.java:1169)
>> [na:1.7.0_67]
>> at 
>> com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:214)
>> [na:1.7.0_67]
>> at 
>> com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:240)
>> [na:1.7.0_67]
>> at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:233)
>> [na:1.7.0_67]
>> at org.lsc.utils.JScriptEvaluator.instanceEval(JScriptEvaluator.java:222)
>> [lsc-core-2.1.3.jar:na]
>> at org.lsc.utils.JScriptEvaluator.evalToStringList(JScriptEvaluator.java:119)
>> [lsc-core-2.1.3.jar:na]
>> at 
>> org.lsc.utils.ScriptingEvaluator.evalToStringList(ScriptingEvaluator.java:136)
>> [lsc-core-2.1.3.jar:na]
>> at org.lsc.beans.BeanComparator.getValuesToSet(BeanComparator.java:602)
>> [lsc-core-2.1.3.jar:na]
>> at org.lsc.beans.BeanComparator.getUpdatedObject(BeanComparator.java:284)
>> [lsc-core-2.1.3.jar:na]
>> at 
>> org.lsc.beans.BeanComparator.calculateModifications(BeanComparator.java:176)
>> [lsc-core-2.1.3.jar:na]
>> at org.lsc.SynchronizeTask.run(AbstractSynchronize.java:773)
>> [lsc-core-2.1.3.jar:na]
>> at org.lsc.SynchronizeTask.run(AbstractSynchronize.java:707)
>> [lsc-core-2.1.3.jar:na]
>> at 
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>> [na:1.7.0_67]
>> at 
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>> [na:1.7.0_67]
>> at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67] Caused by: 
>> java.lang.RuntimeException:
>> org.apache.directory.api.ldap.model.exception.LdapInvalidDnException:
>> ERR_04202 A value is missing on some RDN at 
>> org.lsc.jndi.JndiServices.rewriteBase(JndiServices.java:659)
>> ~[lsc-core-2.1.3.jar:na]
>> at org.lsc.jndi.JndiServices.doReadEntry(JndiServices.java:691)
>> ~[lsc-core-2.1.3.jar:na]
>> at org.lsc.jndi.JndiServices.readEntry(JndiServices.java:666)
>> ~[lsc-core-2.1.3.jar:na]
>> at org.lsc.jndi.ScriptableJndiServices._attr(ScriptableJndiServices.java:218)
>> [lsc-core-2.1.3.jar:na]
>> ... 36 common frames omitted
>>
>> I assume the error is in the javascript code, but I'm at a loss on finding 
>> out where exactly, or how to do the debugging. Can anyone point me in the 
>> right direction?
>>
>> Any help would be greatly appreciated!
>>
>> Cheers,
>>
>> Frederic
>> _______________________________________________________________
>> Ldap Synchronization Connector (LSC) - http://lsc-project.org
>>
>> lsc-users mailing list
>> [email protected]
>> http://lists.lsc-project.org/listinfo/lsc-users
_______________________________________________________________
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