I think I might be beginning to understand why I dont succeed with a sync from syncope from opnedj now.

According to
https://connid.atlassian.net/wiki/display/BASE/LDAP

Supported Operations
:
Sync (only with Sun Directory Server Enterprise Edition)

I guess this excludes opendj by definition.
Am I correct, in the conclusion?

rgds,
Nik

Some further info.

When I run the CLI

[nik@anvil syncope-1.1.0]$ curl -u admin:password -H “Content-Type: application/json” -X GET http://10.0.0.123:9080/syncope/cxf/tasks/sync/list

I see many NPE (see attachment for full details)like:

<?xml version="1.0" encoding="UTF-8"?><tasks>
<syncTask>
<endDate>2013-04-25T14:31:00.504+02:00</endDate>
<excecutions>
<excecution>
<endDate>2013-04-24T11:53:08.296+02:00</endDate>
<id>92</id>
<message>While syncing on connector

org.quartz.JobExecutionException: While syncing on connector [See nested exception: java.lang.IllegalArgumentException: Must be a single value.] at org.apache.syncope.core.sync.impl.SyncJob.executeWithSecurityContext(SyncJob.java:430)
at org.apache.syncope.core.sync.impl.SyncJob.doExecute(SyncJob.java:341)
at org.apache.syncope.core.quartz.AbstractTaskJob.execute(AbstractTaskJob.java:104)
at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
Caused by: java.lang.IllegalArgumentException: Must be a single value.
at org.identityconnectors.framework.common.objects.AttributeBuilder.checkSingleValue(AttributeBuilder.java:200) at org.identityconnectors.framework.common.objects.AttributeBuilder.getSingleStringValue(AttributeBuilder.java:211) at org.identityconnectors.framework.common.objects.AttributeBuilder.build(AttributeBuilder.java:184) at org.connid.bundles.ldap.schema.LdapSchemaMapping.createAttribute(LdapSchemaMapping.java:304) at org.connid.bundles.ldap.search.LdapSearch.createConnectorObject(LdapSearch.java:288) at org.connid.bundles.ldap.search.LdapSearch.access$000(LdapSearch.java:67) at org.connid.bundles.ldap.search.LdapSearch$2.handle(LdapSearch.java:165) at org.connid.bundles.ldap.search.DefaultSearchStrategy.doSearch(DefaultSearchStrategy.java:76) at org.connid.bundles.ldap.search.LdapInternalSearch.execute(LdapInternalSearch.java:70) at org.connid.bundles.ldap.search.LdapSearch.getSingleResult(LdapSearch.java:159) at org.connid.bundles.ldap.search.LdapSearches.findObject(LdapSearches.java:167) at org.connid.bundles.ldap.sync.sunds.SunDSChangeLogSyncStrategy.createSyncDelta(SunDSChangeLogSyncStrategy.java:306) at org.connid.bundles.ldap.sync.sunds.SunDSChangeLogSyncStrategy.access$000(SunDSChangeLogSyncStrategy.java:88) at org.connid.bundles.ldap.sync.sunds.SunDSChangeLogSyncStrategy$1.handle(SunDSChangeLogSyncStrategy.java:178) at org.connid.bundles.ldap.search.DefaultSearchStrategy.doSearch(DefaultSearchStrategy.java:76) at org.connid.bundles.ldap.search.LdapInternalSearch.execute(LdapInternalSearch.java:70) at org.connid.bundles.ldap.sync.sunds.SunDSChangeLogSyncStrategy.sync(SunDSChangeLogSyncStrategy.java:163)
at org.connid.bundles.ldap.LdapConnector.sync(LdapConnector.java:193)
at org.identityconnectors.framework.impl.api.local.operations.SyncImpl.sync(SyncImpl.java:63)
at sun.reflect.GeneratedMethodAccessor1296.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)


Maybe there will be clues in that to help troubleshoot the issue of not synchronizing.

rgds,
Nik
Hi Guys,

I have been using the url below [1] to verify that synchronization can occur from opendj ldap to syncope (and vice versa). If I follow the instructions described for synchronization, as best I can. I cannot get ldap entries (including new ldap entries) to synchronize back to syncope with my setup.I'm assuming (hopefully correctly) that this is a fundamental feature of syncope and therefore, I'm messing something up in my config somewhere. Please help me!

details:
- check my resource is set up (NB specifying synchronization trace level set to ALL) [see a.png]
- define my user/role mappings[b.png,c.png]
- check my ldap connector is defined as per the blog [d.png, e.png]
- under tasks define how my synchronized ldap user is going to be presented in syncope [g.png,h.png,i.pn,gj.png]

[nik@anvil bin]$ ./ldapmodify -p 1389 -h 10.0.0.121 -D"cn=directory manager" -w welcome -a -f /tmp/user.ldif
Processing ADD request for uid=olive,ou=people,o=usharesoft
ADD operation successful for DN uid=olive,ou=people,o=usharesoft
[nik@anvil bin]$

[24/Apr/2013:16:21:40 +0200] CONNECT conn=4 from=10.0.0.123:40160 to=10.0.0.121:1389 protocol=LDAP [24/Apr/2013:16:21:40 +0200] BIND REQ conn=4 op=0 msgID=1 version=3 type=SIMPLE dn="cn=directory manager" [24/Apr/2013:16:21:40 +0200] BIND RES conn=4 op=0 msgID=1 result=0 authDN="cn=Directory Manager,cn=Root DNs,cn=config" etime=1 [24/Apr/2013:16:21:40 +0200] ADD REQ conn=4 op=1 msgID=2 dn="uid=olive,ou=people,o=usharesoft" [24/Apr/2013:16:21:40 +0200] ADD RES conn=4 op=1 msgID=2 result=0 etime=36
[24/Apr/2013:16:21:40 +0200] UNBIND REQ conn=4 op=2 msgID=3
[24/Apr/2013:16:21:40 +0200] DISCONNECT conn=4 reason="Client Unbind"
[24/Apr/2013:16:21:41 +0200] MODIFY REQ conn=-1 op=449 msgID=450 dn="o=usharesoft" type=synchronization [24/Apr/2013:16:21:41 +0200] MODIFY RES conn=-1 op=449 msgID=450 result=0 etime=4

[nik@anvil bin]$ ./ldapmodify -p 1389 -h 10.0.0.121 -D"cn=directory manager" -w welcome -f /tmp/desc.ldif
Processing MODIFY request for uid=olive,ou=people,o=usharesoft
MODIFY operation successful for DN uid=olive,ou=people,o=usharesoft
[nik@anvil bin]$

[24/Apr/2013:16:29:40 +0200] CONNECT conn=13 from=10.0.0.123:40191 to=10.0.0.121:1389 protocol=LDAP [24/Apr/2013:16:29:40 +0200] BIND REQ conn=13 op=0 msgID=1 version=3 type=SIMPLE dn="cn=directory manager" [24/Apr/2013:16:29:40 +0200] BIND RES conn=13 op=0 msgID=1 result=0 authDN="cn=Directory Manager,cn=Root DNs,cn=config" etime=2 [24/Apr/2013:16:29:40 +0200] MODIFY REQ conn=13 op=1 msgID=2 dn="uid=olive,ou=people,o=usharesoft" [24/Apr/2013:16:29:40 +0200] MODIFY RES conn=13 op=1 msgID=2 result=0 etime=5
[24/Apr/2013:16:29:40 +0200] UNBIND REQ conn=13 op=2 msgID=3
[24/Apr/2013:16:29:40 +0200] DISCONNECT conn=13 reason="Client Unbind"
[24/Apr/2013:16:29:41 +0200] MODIFY REQ conn=-1 op=450 msgID=451 dn="o=usharesoft" type=synchronization [24/Apr/2013:16:29:41 +0200] MODIFY RES conn=-1 op=450 msgID=451 result=0 etime=2



[nik@anvil bin]$

[nik@nik-laptop OpenDJ]$ bin/ldapsearch -p 1389 -D "cn=directory manager" -w welcome -b "" -s base '(objectClass=*)' changelog lastChangeNumber firstChangeNumber
dn:
changelog: cn=changelog
lastChangeNumber: 13
firstChangeNumber: 1

[nik@nik-laptop OpenDJ]$

[nik@nik-laptop OpenDJ]$ bin/ldapsearch -p 1389 -D "cn=directory manager" -w welcome -b "cn=changelog" "(&(objectClass=changeLogEntry)(changeNumber>=0)(changeNumber<=13))"
dn: changeNumber=1,cn=changelog
targetDN: uid=olive,ou=people,o=usharesoft
changeNumber: 1
changes:: cmVwbGFjZTogZGVzY3JpcHRpb24KZGVzY3JpcHRpb246IEEgbmV3IHVzZXIncyBlbnRyeQ otCnJlcGxhY2U6IG1vZGlmaWVyc05hbWUKbW9kaWZpZXJzTmFtZTogY249RGlyZWN0b3J5IE1hbmFnZ XIsY249Um9vdCBETnMsY249Y29uZmlnCi0KcmVwbGFjZTogbW9kaWZ5VGltZXN0YW1wCm1vZGlmeVRp
bWVzdGFtcDogMjAxMzA0MjQxNjQ1MzdaCi0K
changeType: modify
changeTime: 20130424164537Z
objectClass: top
objectClass: changeLogEntry

dn: changeNumber=2,cn=changelog
targetDN: uid=olive,ou=people,o=usharesoft
changeNumber: 2
changes:: cmVwbGFjZTogZGVzY3JpcHRpb24KZGVzY3JpcHRpb246OiBZV1JrY21WemN5QT0KLQpyZX BsYWNlOiBtb2RpZmllcnNOYW1lCm1vZGlmaWVyc05hbWU6IGNuPURpcmVjdG9yeSBNYW5hZ2VyLGNuP VJvb3QgRE5zLGNuPWNvbmZpZwotCnJlcGxhY2U6IG1vZGlmeVRpbWVzdGFtcAptb2RpZnlUaW1lc3Rh
bXA6IDIwMTMwNDI1MDgxNjI2WgotCg==
changeType: modify
changeTime: 20130425081626Z
objectClass: top
objectClass: changeLogEntry

dn: changeNumber=3,cn=changelog
targetDN: uid=olive,ou=people,o=usharesoft
changeNumber: 3
changes:: cmVwbGFjZTogZGVzY3JpcHRpb24KZGVzY3JpcHRpb246OiBZV1JrY21WemN6RWcKLQpyZX BsYWNlOiBtb2RpZmllcnNOYW1lCm1vZGlmaWVyc05hbWU6IGNuPURpcmVjdG9yeSBNYW5hZ2VyLGNuP VJvb3QgRE5zLGNuPWNvbmZpZwotCnJlcGxhY2U6IG1vZGlmeVRpbWVzdGFtcAptb2RpZnlUaW1lc3Rh
bXA6IDIwMTMwNDI1MDgxODIyWgotCg==
changeType: modify
changeTime: 20130425081822Z
objectClass: top
objectClass: changeLogEntry

dn: changeNumber=4,cn=changelog
targetDN: uid=olive,ou=people,o=usharesoft
changeNumber: 4
changes:: cmVwbGFjZTogZGVzY3JpcHRpb24KZGVzY3JpcHRpb246OiBZV1JrY21WemN6RWcKLQpyZX BsYWNlOiBtb2RpZmllcnNOYW1lCm1vZGlmaWVyc05hbWU6IGNuPURpcmVjdG9yeSBNYW5hZ2VyLGNuP VJvb3QgRE5zLGNuPWNvbmZpZwotCnJlcGxhY2U6IG1vZGlmeVRpbWVzdGFtcAptb2RpZnlUaW1lc3Rh
bXA6IDIwMTMwNDI1MDgxODQxWgotCg==
changeType: modify
changeTime: 20130425081841Z
objectClass: top
objectClass: changeLogEntry

dn: changeNumber=5,cn=changelog
targetDN: uid=olive,ou=people,o=usharesoft
changeNumber: 5
changes:: cmVwbGFjZTogZGVzY3JpcHRpb24KZGVzY3JpcHRpb246OiBZV1JrY21WemN6RWcKLQpyZX BsYWNlOiBtb2RpZmllcnNOYW1lCm1vZGlmaWVyc05hbWU6IGNuPURpcmVjdG9yeSBNYW5hZ2VyLGNuP VJvb3QgRE5zLGNuPWNvbmZpZwotCnJlcGxhY2U6IG1vZGlmeVRpbWVzdGFtcAptb2RpZnlUaW1lc3Rh
bXA6IDIwMTMwNDI1MDgxODQ1WgotCg==
changeType: modify
changeTime: 20130425081845Z
objectClass: top
objectClass: changeLogEntry

dn: changeNumber=6,cn=changelog
targetDN: uid=olive,ou=people,o=usharesoft
changeNumber: 6
changes:: cmVwbGFjZTogZGVzY3JpcHRpb24KZGVzY3JpcHRpb246OiBZV1JrY21WemN6RWcKLQpyZX BsYWNlOiBtb2RpZmllcnNOYW1lCm1vZGlmaWVyc05hbWU6IGNuPURpcmVjdG9yeSBNYW5hZ2VyLGNuP VJvb3QgRE5zLGNuPWNvbmZpZwotCnJlcGxhY2U6IG1vZGlmeVRpbWVzdGFtcAptb2RpZnlUaW1lc3Rh
bXA6IDIwMTMwNDI1MDgxODQ2WgotCg==
changeType: modify
changeTime: 20130425081846Z
objectClass: top
objectClass: changeLogEntry

dn: changeNumber=7,cn=changelog
targetDN: uid=olive,ou=people,o=usharesoft
changeNumber: 7
changes:: cmVwbGFjZTogZGVzY3JpcHRpb24KZGVzY3JpcHRpb246OiBZV1JrY21WemN6RWcKLQpyZX BsYWNlOiBtb2RpZmllcnNOYW1lCm1vZGlmaWVyc05hbWU6IGNuPURpcmVjdG9yeSBNYW5hZ2VyLGNuP VJvb3QgRE5zLGNuPWNvbmZpZwotCnJlcGxhY2U6IG1vZGlmeVRpbWVzdGFtcAptb2RpZnlUaW1lc3Rh
bXA6IDIwMTMwNDI1MDgxODQ3WgotCg==
changeType: modify
changeTime: 20130425081847Z
objectClass: top
objectClass: changeLogEntry

dn: changeNumber=8,cn=changelog
targetDN: uid=olive,ou=people,o=usharesoft
changeNumber: 8
changes:: cmVwbGFjZTogZGVzY3JpcHRpb24KZGVzY3JpcHRpb246OiBZV1JrY21WemN6RWcKLQpyZX BsYWNlOiBtb2RpZmllcnNOYW1lCm1vZGlmaWVyc05hbWU6IGNuPURpcmVjdG9yeSBNYW5hZ2VyLGNuP VJvb3QgRE5zLGNuPWNvbmZpZwotCnJlcGxhY2U6IG1vZGlmeVRpbWVzdGFtcAptb2RpZnlUaW1lc3Rh
bXA6IDIwMTMwNDI1MDgxODQ5WgotCg==
changeType: modify
changeTime: 20130425081849Z
objectClass: top
objectClass: changeLogEntry

dn: changeNumber=9,cn=changelog
targetDN: uid=olive,ou=people,o=usharesoft
changeNumber: 9
changes:: cmVwbGFjZTogZGVzY3JpcHRpb24KZGVzY3JpcHRpb246IEEgbmV3IHVzZXIncyBlbnRyeQ otCnJlcGxhY2U6IG1vZGlmaWVyc05hbWUKbW9kaWZpZXJzTmFtZTogY249RGlyZWN0b3J5IE1hbmFnZ XIsY249Um9vdCBETnMsY249Y29uZmlnCi0KcmVwbGFjZTogbW9kaWZ5VGltZXN0YW1wCm1vZGlmeVRp
bWVzdGFtcDogMjAxMzA0MjUwOTI5MzBaCi0K
changeType: modify
changeTime: 20130425092930Z
objectClass: top
objectClass: changeLogEntry

dn: changeNumber=10,cn=changelog
targetDN: uid=olive,ou=people,o=usharesoft
changeNumber: 10
changes:: cmVwbGFjZTogZGVzY3JpcHRpb24KZGVzY3JpcHRpb246IEEgbmV3IHVzZXIncyBlbnRyeQ otCnJlcGxhY2U6IG1vZGlmaWVyc05hbWUKbW9kaWZpZXJzTmFtZTogY249RGlyZWN0b3J5IE1hbmFnZ XIsY249Um9vdCBETnMsY249Y29uZmlnCi0KcmVwbGFjZTogbW9kaWZ5VGltZXN0YW1wCm1vZGlmeVRp
bWVzdGFtcDogMjAxMzA0MjUwOTI5NDNaCi0K
changeType: modify
changeTime: 20130425092943Z
objectClass: top
objectClass: changeLogEntry

dn: changeNumber=11,cn=changelog
targetDN: uid=olive,ou=people,o=usharesoft
changeNumber: 11
changes:: cmVwbGFjZTogZGVzY3JpcHRpb24KZGVzY3JpcHRpb246IEEgbmV3IHVzZXIncyBlbnRyeQ otCnJlcGxhY2U6IG1vZGlmaWVyc05hbWUKbW9kaWZpZXJzTmFtZTogY249RGlyZWN0b3J5IE1hbmFnZ XIsY249Um9vdCBETnMsY249Y29uZmlnCi0KcmVwbGFjZTogbW9kaWZ5VGltZXN0YW1wCm1vZGlmeVRp
bWVzdGFtcDogMjAxMzA0MjUwOTI5NDRaCi0K
changeType: modify
changeTime: 20130425092944Z
objectClass: top
objectClass: changeLogEntry

dn: changeNumber=12,cn=changelog
targetDN: uid=olive,ou=people,o=usharesoft
changeNumber: 12
changes:: cmVwbGFjZTogZGVzY3JpcHRpb24KZGVzY3JpcHRpb246IEEgbmV3IHVzZXIncyBlbnRyeQ otCnJlcGxhY2U6IG1vZGlmaWVyc05hbWUKbW9kaWZpZXJzTmFtZTogY249RGlyZWN0b3J5IE1hbmFnZ XIsY249Um9vdCBETnMsY249Y29uZmlnCi0KcmVwbGFjZTogbW9kaWZ5VGltZXN0YW1wCm1vZGlmeVRp
bWVzdGFtcDogMjAxMzA0MjUwOTI5NDZaCi0K
changeType: modify
changeTime: 20130425092946Z
objectClass: top
objectClass: changeLogEntry

dn: changeNumber=13,cn=changelog
targetDN: uid=olive,ou=people,o=usharesoft
changeNumber: 13
changes:: cmVwbGFjZTogZGVzY3JpcHRpb24KZGVzY3JpcHRpb246IEEgbmV3IHVzZXIncyBlbnRyeQ otCnJlcGxhY2U6IG1vZGlmaWVyc05hbWUKbW9kaWZpZXJzTmFtZTogY249RGlyZWN0b3J5IE1hbmFnZ XIsY249Um9vdCBETnMsY249Y29uZmlnCi0KcmVwbGFjZTogbW9kaWZ5VGltZXN0YW1wCm1vZGlmeVRp
bWVzdGFtcDogMjAxMzA0MjUwOTI5NDhaCi0K
changeType: modify
changeTime: 20130425092948Z
objectClass: top
objectClass: changeLogEntry

[nik@nik-laptop OpenDJ]$

We can see I have 13 outstanding changes in ldap for targetDN: uid=olive,ou=people,o=usharesoft.

At this point I would expect my synchronization task to execute and these changes including the entry
uid=olive,ou=people,o=usharesoft
to be linked into syncope by the definition of user in the task definition [see h.png, g.png] but nothing changes
in my syncope-console user view [see k.png].


[1] http://blog.tirasa.net/blogs/index.php/ilgrosso/unlock-full-ldap-features-in




Reply via email to