Hi Juhani
Il 15/03/2016 14:07, Kettunen, Juhani ha scritto:
Hello Francesco,
Thank you for the reply.
I created my active directory connector, resource and the
synchronization task from scratch and I did not check the full
reconciliation so now it should be doing the SYNC.
But now I’m getting below error, what could be wrong?
org.identityconnectors.framework.common.exceptions.ConnectorException:
Could not set DirSync request controls
at
net.tirasa.connid.bundles.ad.sync.ADSyncStrategy.sync(ADSyncStrategy.java:168)
~[?:?]
at net.tirasa.connid.bundles.ad.ADConnector.sync(ADConnector.java:143)
~[?:?]
at
org.identityconnectors.framework.impl.api.local.operations.SyncImpl.sync(SyncImpl.java:139)
~[connector-framework-internal-1.4.1.0.jar:?]
I think there is a problem with the Active Directory connector. Please,
write to ConnId Mailing List [1][2]
Regards
M
[1] [email protected]
[2] https://groups.google.com/forum/?fromgroups#!forum/connid-users
Best Regards,
Juhani
Full stack trace:
12:28:44.521 DEBUG Enter: getLatestSyncToken(ObjectClass: __ACCOUNT__)
Method: getLatestSyncToken
12:29:02.602 DEBUG Latest sync token set to SyncToken: [B@2baedc04
Method: getLatestSyncToken
12:29:02.602 DEBUG Return: SyncToken: [B@2baedc04 Method:
getLatestSyncToken
12:29:02.603 DEBUG Enter: sync(ObjectClass: __ACCOUNT__, SyncToken:
[B@64eea103,
org.apache.syncope.core.sync.impl.UserSyncResultHandler@6e8cffb9,
OperationOptions:
{ATTRS_TO_GET:[mail,sn,title,department,sAMAccountName,__UID__,__NAME__,l,givenName,__ENABLE__...]})
Method: sync
12:29:02.663 DEBUG Enter: sync(ObjectClass: __ACCOUNT__, SyncToken:
[B@64eea103,
org.identityconnectors.framework.impl.api.local.operations.SyncImpl$1@299fe21d,
OperationOptions:
{ATTRS_TO_GET:[mail,sn,title,department,sAMAccountName,__UID__,__NAME__,l,givenName,__ENABLE__...]})
Method: sync
12:29:02.663 DEBUG Synchronization with token. Method: sync
12:29:02.663 DEBUG Exception: Method: sync
org.identityconnectors.framework.common.exceptions.ConnectorException:
Could not set DirSync request controls
at
net.tirasa.connid.bundles.ad.sync.ADSyncStrategy.sync(ADSyncStrategy.java:168)
~[?:?]
at net.tirasa.connid.bundles.ad.ADConnector.sync(ADConnector.java:143)
~[?:?]
at
org.identityconnectors.framework.impl.api.local.operations.SyncImpl.sync(SyncImpl.java:139)
~[connector-framework-internal-1.4.1.0.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:1.7.0_95]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
~[?:1.7.0_95]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.7.0_95]
at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_95]
at
org.identityconnectors.framework.impl.api.local.operations.ConnectorAPIOperationRunnerProxy.invoke(ConnectorAPIOperationRunnerProxy.java:98)
~[connector-framework-internal-1.4.1.0.jar:?]
at com.sun.proxy.$Proxy215.sync(Unknown Source) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:1.7.0_95]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
~[?:1.7.0_95]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.7.0_95]
at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_95]
at
org.identityconnectors.framework.impl.api.local.operations.ThreadClassLoaderManagerProxy.invoke(ThreadClassLoaderManagerProxy.java:98)
~[connector-framework-internal-1.4.1.0.jar:?]
at com.sun.proxy.$Proxy215.sync(Unknown Source) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:1.7.0_95]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
~[?:1.7.0_95]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.7.0_95]
at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_95]
at
org.identityconnectors.framework.impl.api.BufferedResultsProxy$BufferedResultsHandler.run(BufferedResultsProxy.java:159)
~[connector-framework-internal-1.4.1.0.jar:?]
Caused by: java.nio.BufferOverflowException
at java.nio.HeapByteBuffer.put(HeapByteBuffer.java:183) ~[?:1.7.0_95]
at java.nio.ByteBuffer.put(ByteBuffer.java:832) ~[?:1.7.0_95]
at
net.tirasa.adsddl.ntsd.controls.DirSyncControl.berEncodedValue(DirSyncControl.java:100)
~[?:?]
at
net.tirasa.adsddl.ntsd.controls.DirSyncControl.<init>(DirSyncControl.java:75)
~[?:?]
at
net.tirasa.connid.bundles.ad.sync.ADSyncStrategy.sync(ADSyncStrategy.java:165)
~[?:?]
... 19 more
12:29:02.671 DEBUG Exception: Method: sync
org.identityconnectors.framework.common.exceptions.ConnectorException:
Could not set DirSync request controls
at
net.tirasa.connid.bundles.ad.sync.ADSyncStrategy.sync(ADSyncStrategy.java:168)
~[?:?]
at net.tirasa.connid.bundles.ad.ADConnector.sync(ADConnector.java:143)
~[?:?]
at
org.identityconnectors.framework.impl.api.local.operations.SyncImpl.sync(SyncImpl.java:139)
~[connector-framework-internal-1.4.1.0.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:1.7.0_95]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
~[?:1.7.0_95]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.7.0_95]
at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_95]
at
org.identityconnectors.framework.impl.api.local.operations.ConnectorAPIOperationRunnerProxy.invoke(ConnectorAPIOperationRunnerProxy.java:98)
~[connector-framework-internal-1.4.1.0.jar:?]
at com.sun.proxy.$Proxy215.sync(Unknown Source) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:1.7.0_95]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
~[?:1.7.0_95]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.7.0_95]
at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_95]
at
org.identityconnectors.framework.impl.api.local.operations.ThreadClassLoaderManagerProxy.invoke(ThreadClassLoaderManagerProxy.java:98)
~[connector-framework-internal-1.4.1.0.jar:?]
at com.sun.proxy.$Proxy215.sync(Unknown Source) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:1.7.0_95]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
~[?:1.7.0_95]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.7.0_95]
at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_95]
at
org.identityconnectors.framework.impl.api.BufferedResultsProxy$BufferedResultsHandler.run(BufferedResultsProxy.java:159)
~[connector-framework-internal-1.4.1.0.jar:?]
Caused by: java.nio.BufferOverflowException
at java.nio.HeapByteBuffer.put(HeapByteBuffer.java:183) ~[?:1.7.0_95]
at java.nio.ByteBuffer.put(ByteBuffer.java:832) ~[?:1.7.0_95]
at
net.tirasa.adsddl.ntsd.controls.DirSyncControl.berEncodedValue(DirSyncControl.java:100)
~[?:?]
at
net.tirasa.adsddl.ntsd.controls.DirSyncControl.<init>(DirSyncControl.java:75)
~[?:?]
at
net.tirasa.connid.bundles.ad.sync.ADSyncStrategy.sync(ADSyncStrategy.java:165)
~[?:?]
... 19 more
*From:*Francesco Chicchiriccò [mailto:[email protected]]
*Sent:* 10. maaliskuuta 2016 18:56
*To:* [email protected]
*Subject:* Re: Synchronize task does not remove users from syncope?
On 10/03/2016 17:23, Kettunen, Juhani wrote:
Hello,
I have two external resources working fine (AD and PostgreSQL
database) as well as a synchronize task from the AD.
The sync task does create and update all users in syncope and in
the database, but it does not remove any users (deprovision). For
example if I delete a user in AD it doesn’t get deleted from
Syncope’s internal users and therefore not from the external
resource either.
This same applies when I edit a previously synchronized user in
Active Directory so that it doesn’t meet connectors membership or
accountSearchFilter rules anymore – it does not get removed from
Syncope and other resources.
What am I missing?
The Synchronization Task has only Matching (update) and Unmatching
(provision). Should it have at least a third matching rule: Source
Missing Rule – which would most likely always be used for
deprovisioning?
Hi,
synchronization from Syncope either relies on ConnId's SEARCH [1] or
SYNC [2], depending on whether you've set the the "Full
reconciliation" flag on the related SyncTask.
With that option flagged, Syncope will barely ask the external
resource for all users available at the moment; without such flag,
Syncope will ask for all the changes occurred since previous
synchronization.
Only the latter is the capable of instructing Syncope about to delete
users (or roles).
More information on this topic is available at [3].
Please consider that not all ConnId connectors implement SYNC - but
either Active Directory [4], Database table [5] and Scripted SQL [6] do.
In any case, SYNC might required additional configuration options on
the related connector instance.
Hope this helps.
Regards.
[1]
http://connid.tirasa.net/apidocs/1.4/org/identityconnectors/framework/api/operations/SearchApiOp.html
[2]
http://connid.tirasa.net/apidocs/1.4/org/identityconnectors/framework/api/operations/SyncApiOp.html
[3] https://cwiki.apache.org/confluence/display/SYNCOPE/Synchronization
[4] https://connid.atlassian.net/wiki/pages/viewpage.action?pageId=360482
[5] https://connid.atlassian.net/wiki/display/BASE/Database+Table
[6] https://connid.atlassian.net/wiki/display/BASE/Scripted+SQL
--
Francesco Chicchiriccò
Tirasa - Open Source Excellence
http://www.tirasa.net/
Involved at The Apache Software Foundation:
member, Syncope PMC chair, Cocoon PMC, Olingo PMC, CXF committer
http://home.apache.org/~ilgrosso/ <http://home.apache.org/%7Eilgrosso/>
--
Dott. Marco Di Sabatino Di Diodoro
Tel. +39 3939065570
Tirasa S.r.l.
Viale D'Annunzio 267 - 65127 Pescara
Tel +39 0859116307 / FAX +39 0859111173
http://www.tirasa.net
Apache Syncope PMC Member
http://people.apache.org/~mdisabatino/