Thank you for the response.
Indeed after setting Boolean value to __ENABLE__ field synchronization is
working.
The issue that I am still encountering is propagation of the status(I selected
'Allow status synchronization' checkbox) is that for the first run of the sync
task I receive message:
Users [created/failures]: 0/0 [updated/failures]: 6/1 [deleted/failures]: 0/0
Roles [created/failures]: 0/0 [updated/failures]: 0/0 [deleted/failures]: 0/0
Users failed to update: UPDATE FAILURE (id/name): 1907/null
Users created:
Users updated:
UPDATE SUCCESS (id/name): 1908/267498
UPDATE SUCCESS (id/name): 1909/267507
UPDATE SUCCESS (id/name): 1910/267524
UPDATE SUCCESS (id/name): 1911/267526
UPDATE SUCCESS (id/name): 1912/267546
UPDATE SUCCESS (id/name): 1913/267609
Users deleted:
Roles created:
Roles updated:
Roles deleted:
- In this case only user's Syncope status is updated correctly.
There is also error in logs:
13:06:34.239 ERROR org.apache.syncope.core.sync.impl.SyncopeSyncResultHandler -
Could not update USER 267620
java.lang.UnsupportedOperationException: null
at java.util.AbstractCollection.add(AbstractCollection.java:221)
~[na:1.6.0_45]
at java.util.AbstractCollection.addAll(AbstractCollection.java:305)
~[na:1.6.0_45]
at
org.apache.syncope.core.sync.impl.SyncopeSyncResultHandler.updateUser(SyncopeSyncResultHandler.java:678)
[syncope.war/:na]
at
org.apache.syncope.core.sync.impl.SyncopeSyncResultHandler.update(SyncopeSyncResultHandler.java:769)
[syncope.war/:na]
at
org.apache.syncope.core.sync.impl.SyncopeSyncResultHandler.doHandle(SyncopeSyncResultHandler.java:954)
[syncope.war/:na]
at
org.apache.syncope.core.sync.impl.SyncopeSyncResultHandler.handle(SyncopeSyncResultHandler.java:275)
[syncope.war/:na]
at
org.identityconnectors.framework.impl.api.StreamHandlerUtil$ObjectStreamHandlerAdapter.handle(StreamHandlerUtil.java:82)
[connid-framework-internal-1.3.3.jar:na]
at
org.identityconnectors.framework.impl.api.BufferedResultsProxy.invoke(BufferedResultsProxy.java:268)
[connid-framework-internal-1.3.3.jar:na]
at
org.identityconnectors.framework.impl.api.DelegatingTimeoutProxy.invoke(DelegatingTimeoutProxy.java:102)
[connid-framework-internal-1.3.3.jar:na]
at com.sun.proxy.$Proxy1729.sync(Unknown Source) [na:na]
at sun.reflect.GeneratedMethodAccessor919.invoke(Unknown Source)
~[na:na]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
~[na:1.6.0_45]
at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_45]
at
org.identityconnectors.framework.impl.api.LoggingProxy.invoke(LoggingProxy.java:76)
[connid-framework-internal-1.3.3.jar:na]
at com.sun.proxy.$Proxy1729.sync(Unknown Source) [na:na]
at
org.identityconnectors.framework.impl.api.AbstractConnectorFacade.sync(AbstractConnectorFacade.java:251)
[connid-framework-internal-1.3.3.jar:na]
at
org.apache.syncope.core.propagation.impl.ConnectorFacadeProxy.sync(ConnectorFacadeProxy.java:241)
[syncope.war/:na]
at
org.apache.syncope.core.sync.impl.SyncJob.executeWithSecurityContext(SyncJob.java:420)
[syncope.war/:na]
at
org.apache.syncope.core.sync.impl.SyncJob.doExecute(SyncJob.java:342)
[syncope.war/:na]
at
org.apache.syncope.core.quartz.AbstractTaskJob.execute(AbstractTaskJob.java:126)
[syncope.war/:na]
at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
[quartz-2.1.7.jar:na]
at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
[quartz-2.1.7.jar:na]
And after second run of this sync task(without changes) the massages is correct:
Users [created/failures]: 0/0 [updated/failures]: 7/0 [deleted/failures]: 0/0
Roles [created/failures]: 0/0 [updated/failures]: 0/0 [deleted/failures]: 0/0
Users created:
Users updated:
UPDATE SUCCESS (id/name): 1907/267480
UPDATE SUCCESS (id/name): 1908/267498
UPDATE SUCCESS (id/name): 1909/267507
UPDATE SUCCESS (id/name): 1910/267524
UPDATE SUCCESS (id/name): 1911/267526
UPDATE SUCCESS (id/name): 1912/267546
UPDATE SUCCESS (id/name): 1913/267609
Users deleted:
Roles created:
Roles updated:
Roles deleted:
- In this case the status is propagated to all linked Syncope user's
resources.
Is there any limitation to propagation off __ENABLE__ attribute to assigned
user resources while Syncope status is not updated before they are?
From: Fabio Martelli [mailto:[email protected]]
Sent: Wednesday, February 11, 2015 11:20 AM
To: [email protected]
Subject: Re: FW: subscription
Il 08/02/2015 11:15, Aleksandar Milicevic ha scritto:
Hi all,
I am trying sync users to syncope from external db(MySQL) using scriptedSQL
resource. What I am trying to achieve is to sync status to the user in
Syncope(__ENABLE__) which will be then propagated to the linked user's
resources.
Following the logs I see that correct value is set to status field but when
propagation tasks occur status on those linked resources is always true and the
user's state in Syncope is always active(not suspended or other).
Any suggestions?
Hi Aleksandar, be sure that sync and search scripts are returning __ENABLE__
boolean attribute for the status.
Further, you have to specify that the sync task has to synchronize the status
('Allow status synchronization' checkbox).
Regards,
F.
Met vriendelijke groet / Kind regards,
Aleksandar Milicevic
Java softwere developer
[Title: Levi9 IT Services]
________________________________
Address: Trifkovicev trg 6, 21000 Novi Sad, Serbia
Tel.: +31 20 6701 947 | +381 21 2155 50
Mobile: +381 63 1137 660
Skype: aleksandar.milicevic107
Internet: www.levi9.com<http://www.levi9.com/>
Chamber of commerce Levi9 Holding: 34221951
Chamber of commerce Levi9 IT Services BV: 34224746
________________________________
This e-mail may contain confidential or privileged information. If you are not
(one of) the intended recipient(s), please notify the sender immediately by
reply e-mail and delete this message and any attachments permanently without
retaining a copy. Any review, disclosure, copying, distribution or taking any
action in reliance on the contents of this e-mail by persons or entities other
than the intended recipient(s) is strictly prohibited and may be unlawful.
The services of Levi9 are exclusively subject to its general terms and
conditions. These general terms and conditions can be found on
www.levi9.com<http://www.levi9.com/> and a copy will be promptly submitted to
you on your request and free of charge.
--
Fabio Martelli
Tirasa - Open Source Excellence
http://www.tirasa.net/
Apache Syncope PMC
http://people.apache.org/~fmartelli/