Hi Stéphane, nice to hear you're going ahead. Here, what I can see is some problem in the groovy script, probably in your SchemaScript.groovy I can suppose in your script you're passing AttributeInfoBuilder instead of AttributeInfo, so you're missing the build() method. Please take as a reference the SchemaScript [1].
[1] https://github.com/apache/syncope/blob/master/fit/core-reference/src/test/resources/rest/SchemaScript.groovy Best regards, Lorenzo Il giorno mar 20 gen 2026 alle ore 23:41 Stéphane Popoff < [email protected]> ha scritto: > 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 > -- -- Lorenzo Di Cola Software Engineer @ Tirasa S.r.l. Viale Vittoria Colonna, 97 - 65127 Pescara Tel +39 0859116307 / FAX +39 0859111173http://www.tirasa.net Apache Syncope Committer Syncope PMC Member at The Apache Software Foundation http://people.apache.org/phonebook.html?uid=loredicola
