Hi Lorenzo,
Thank's for the reply. I have a better result now [1] but don't
understand why I also have errors when reading schema [2]. ([2] is
before [1] from the same Syncope log)
Best regards,
Stéphane POPOFF
[1] 2026-01-20 15:25:39.218 DEBUG [ Thread-6]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector :
ObjectClass: __ACCOUNT__ Method: executeQuery
2026-01-20 15:25:39.223 INFO [ Thread-6]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector :
Entering SEARCH Script Method: invoke
2026-01-20 15:25:39.302 DEBUG [ Thread-6]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector : Search
ok Method: executeQuery
2026-01-20 15:25:39.302 DEBUG [ Thread-6]
g.identityconnectors.framework.common.objects.ResultsHandler :
instance='RestAdmin' Enter: handle({Uid=Attribute: {Name=__UID__,
Value=[appAdmin]}, ObjectClass=ObjectClass: __ACCOUNT__,
Attributes=[Attribute: {Name=projects, Value=[projet1, projet2]},
Attribute: {Name=appName, Value=[appAdmin]}, Attribute:
{Name=__NAME__, Value=[appAdmin]}, Attribute: {Name=__UID__,
Value=[appAdmin]}], Name=Attribute: {Name=__NAME__,
Value=[appAdmin]}}) Method: handle
2026-01-20 15:25:39.304
[operation.id=019bdc02-ec90-7f4b-a905-d7c8af685ed4] DEBUG
[handler-409] g.identityconnectors.framework.common.objects.ResultsHandler
: Enter: handle({Uid=Attribute: {Name=__UID__, Value=[appAdmin]},
ObjectClass=ObjectClass: __ACCOUNT__, Attributes=[Attribute:
{Name=projects, Value=[projet1, projet2]}, Attribute: {Name=appName,
Value=[appAdmin]}, Attribute: {Name=__NAME__, Value=[appAdmin]},
Attribute: {Name=__UID__, Value=[appAdmin]}], Name=Attribute:
{Name=__NAME__, Value=[appAdmin]}}) Method: handle
2026-01-20 15:25:39.304
[operation.id=019bdc02-ec90-7f4b-a905-d7c8af685ed4] DEBUG
[handler-409] g.identityconnectors.framework.common.objects.ResultsHandler
: Return: false Method: handle
2026-01-20 15:25:39.304 DEBUG [ Thread-6]
g.identityconnectors.framework.common.objects.ResultsHandler :
instance='RestAdmin' Return: false Method: handle
2026-01-20 15:25:39.305 DEBUG [ Thread-6]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector :
ConnectorObject is built Method: processResults
2026-01-20 15:25:39.305 DEBUG [ Thread-6]
org.identityconnectors.framework.spi.SearchResultsHandler :
instance='RestAdmin' Enter: handleResult(SearchResult:
{PagedResultsCookie=null, RemainingPagedResults=-1,
AllResultsReturned=true}) Method: handleResult
2026-01-20 15:25:39.306 DEBUG [ Thread-6]
org.identityconnectors.framework.spi.SearchResultsHandler :
instance='RestAdmin' Return Method: handleResult
2026-01-20 15:25:39.306 DEBUG [ Thread-6]
org.identityconnectors.framework.spi.operations.SearchOp :
instance='RestAdmin' Return Method: executeQuery
2026-01-20 15:25:39.308
[operation.id=019bdc02-ec90-7f4b-a905-d7c8af685ed4] DEBUG
[handler-409] org.identityconnectors.framework.api.operations.SearchApiOp
: Return: SearchResult: {PagedResultsCookie=null,
RemainingPagedResults=-1, AllResultsReturned=true} Method: search
[2] Caused by: java.lang.ClassCastException: class
org.identityconnectors.framework.common.objects.AttributeInfoBuilder
cannot be cast to class
org.identityconnectors.framework.common.objects.AttributeInfo
(org.identityconnectors.framework.common.objects.AttributeInfoBuilder
and org.identityconnectors.framework.common.objects.AttributeInfo are
in unnamed module of loader
org.springframework.boot.loader.launch.LaunchedClassLoader @6ce253f1)
at
org.identityconnectors.framework.common.objects.ObjectClassInfoBuilder.addAllAttributeInfo(ObjectClassInfoBuilder.java:87)
at
org.identityconnectors.framework.common.objects.ObjectClassInfoBuilder$addAllAttributeInfo$0.call(Unknown
Source)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:176)
at
org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor.java:24)
at
org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:176)
at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:174)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:178)
at
org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:344)
at Script1.run(Script1.groovy:49)
at
org.identityconnectors.common.script.groovy.GroovyScriptExecutorFactory$GroovyScriptExecutor.execute(GroovyScriptExecutorFactory.java:100)
at
net.tirasa.connid.commons.scripted.AbstractScriptedConnector.schema(AbstractScriptedConnector.java:573)
... 28 more
2026-01-20 15:25:37.824
[operation.id=019bdc02-ec90-7f4b-a905-d7c8af685ed4] DEBUG
[handler-409] org.identityconnectors.framework.api.operations.SearchApiOp
: instan
Le mar. 20 janv. 2026 à 10:54, Lorenzo Di Cola <[email protected]> a écrit :
>
> Hello,
> This error is coming from ConnId Framework, not from Syncope itself, and it
> is raised after your connector has returned an object, when the framework
> tries to apply the search filter.
> The filter is the ConnId search filter that Syncope passes to the connector
> when it performs a search or get operation.
> The filter is not configured statically. It is dynamically built by Syncope
> from:
>
> The operation being executed, for example: read, search, etc.
> The mapping of the external resource
> The attribute used as ConnId Name, for example __NAME__, __UID__
>
> Maybe the main question here is the last one, why the mapping is wrong for
> the filter. Please take care about your Syncope mapping configuration and how
> you're using the Connid __NAME__ and __UID__.
>
> HTH
> Best regards,
> Lorenzo
>
> Il giorno sab 17 gen 2026 alle ore 17:49 Stéphane Popoff
> <[email protected]> ha scritto:
>>
>> Hi,
>>
>> When requesting a record on a Rest connector that respond with data:
>> {"appName":"appAdmin","key":null,"login":"appAdmin","status":"ACTIVE","projects":["projet1","projet2"],"uid":"appAdmin"}
>>
>> I found in Syncope log this exception:
>> Caused by: java.lang.IllegalStateException: Object {Uid=Attribute:
>> {Name=__UID__, Value=[appAdmin]}, ObjectClass=ObjectClass:
>> __ACCOUNT__, Attributes=[Attribute: {Name=projects, Value=[projet1,
>> projet2]}, Attribute: {Name=appName, Value=[appAdmin]}, Attribute:
>> {Name=__NAME__, Value=[appAdmin]}, Attribute: {Name=__UID__,
>> Value=[appAdmin]}], Name=Attribute: {Name=__NAME__, Value=[appAdmin]}}
>> was returned by the connector but failed to pass the framework filter.
>> This seems like wrong implementation of the filter in the connector.
>> at
>> org.identityconnectors.framework.impl.api.local.operations.FilteredResultsHandler.handle(FilteredResultsHandler.java:82)
>> at
>> org.identityconnectors.framework.impl.api.local.operations.SearchImpl$AttributesToGetSearchResultsHandler.handle(SearchImpl.java:275)
>> at
>> org.identityconnectors.framework.impl.api.local.operations.SearchImpl$1.handle(SearchImpl.java:145)
>> at
>> org.identityconnectors.framework.impl.api.SearchResultsHandlerLoggingProxy.handle(SearchResultsHandlerLoggingProxy.java:75)
>> at
>> net.tirasa.connid.commons.scripted.AbstractScriptedConnector.processResults(AbstractScriptedConnector.java:800)
>> at
>> net.tirasa.connid.commons.scripted.AbstractScriptedConnector.executeQuery(AbstractScriptedConnector.java:616)
>> ... 14 more
>>
>> My questions is about the connector filter:
>> - What is attended by the filter ?
>> - Where to find the configuration of that filter ?
>> - Why is the external attribute appName, mapped on the internal name
>> attribute is wrong for the filter ?
>>
>> Best regards,
>>
>> Stéphane POPOFF
>
>
>
> --
>
> --
> Lorenzo Di Cola
>
> Software Engineer @ Tirasa S.r.l.
> Viale Vittoria Colonna, 97 - 65127 Pescara
> Tel +39 0859116307 / FAX +39 0859111173
> http://www.tirasa.net
>
> Apache Syncope Committer
>
> Syncope PMC Member at The Apache Software Foundation
>
> http://people.apache.org/phonebook.html?uid=loredicola