Hi,
When creating a second REST connector an error raised in Core Syncope
while inspecting the first one. It's about compiling a groovy script
not in connector configuration.
Any help would be appreciated.
Best regards,

Stéphane POPOFF

2026-01-12 16:32:10.524
[operation.id=019bb30c-f896-721f-b7da-bf8fdb04942a] ERROR
[handler-431] org.apache.syncope.core.rest.cxf.RestServiceExceptionMapper
 : Exception thrown

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script1.groovy: 109: Unexpected input: 'case' @ line 109, column 1.
   case "UPDATE_DELTA":
   ^

1 error

        at 
org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:292)
        at 
org.codehaus.groovy.control.ErrorCollector.addFatalError(ErrorCollector.java:148)
        at 
org.apache.groovy.parser.antlr4.AstBuilder.collectSyntaxError(AstBuilder.java:4714)
        at 
org.apache.groovy.parser.antlr4.AstBuilder$3.syntaxError(AstBuilder.java:4725)
        at 
groovyjarjarantlr4.v4.runtime.ProxyErrorListener.syntaxError(ProxyErrorListener.java:44)
        at 
groovyjarjarantlr4.v4.runtime.Parser.notifyErrorListeners(Parser.java:543)
        at 
groovyjarjarantlr4.v4.runtime.DefaultErrorStrategy.notifyErrorListeners(DefaultErrorStrategy.java:154)
        at 
org.apache.groovy.parser.antlr4.internal.DescriptiveErrorStrategy.reportInputMismatch(DescriptiveErrorStrategy.java:104)
        at 
org.apache.groovy.parser.antlr4.internal.DescriptiveErrorStrategy.recover(DescriptiveErrorStrategy.java:55)
        at 
org.apache.groovy.parser.antlr4.internal.DescriptiveErrorStrategy.recoverInline(DescriptiveErrorStrategy.java:68)
        at groovyjarjarantlr4.v4.runtime.Parser.match(Parser.java:213)
        at 
org.apache.groovy.parser.antlr4.GroovyParser.compilationUnit(GroovyParser.java:366)
        at 
org.apache.groovy.parser.antlr4.AstBuilder.buildCST(AstBuilder.java:250)
        at 
org.apache.groovy.parser.antlr4.AstBuilder.buildCST(AstBuilder.java:228)
        at 
org.apache.groovy.parser.antlr4.AstBuilder.buildAST(AstBuilder.java:269)
        at 
org.apache.groovy.parser.antlr4.Antlr4ParserPlugin.buildAST(Antlr4ParserPlugin.java:58)
        at org.codehaus.groovy.control.SourceUnit.buildAST(SourceUnit.java:256)
        at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
        at 
java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)
        at 
java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:803)
        at 
org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:639)
        at 
groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:399)
        at 
groovy.lang.GroovyClassLoader.lambda$parseClass$5(GroovyClassLoader.java:345)
        at 
org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:138)
        at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:345)
        at groovy.lang.GroovyShell.parseClass(GroovyShell.java:601)
        at groovy.lang.GroovyShell.parse(GroovyShell.java:614)
        at groovy.lang.GroovyShell.parse(GroovyShell.java:668)
        at groovy.lang.GroovyShell.parse(GroovyShell.java:654)
        at groovy.lang.GroovyShell.parse(GroovyShell.java:663)
        at 
org.identityconnectors.common.script.groovy.GroovyScriptExecutorFactory$GroovyScriptExecutor.<init>(GroovyScriptExecutorFactory.java:85)
        at 
org.identityconnectors.common.script.groovy.GroovyScriptExecutorFactory.newScriptExecutor(GroovyScriptExecutorFactory.java:124)
        at 
net.tirasa.connid.commons.scripted.AbstractScriptedConnector.getScriptExecutor(AbstractScriptedConnector.java:164)
        at 
net.tirasa.connid.commons.scripted.AbstractScriptedConnector.init(AbstractScriptedConnector.java:187)
        at 
net.tirasa.connid.bundles.rest.RESTConnector.init(RESTConnector.java:72)
        at 
org.identityconnectors.framework.impl.api.local.operations.ConnectorAPIOperationRunnerProxy.invoke(ConnectorAPIOperationRunnerProxy.java:94)
        at jdk.proxy2/jdk.proxy2.$Proxy360.test(Unknown Source)
        at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:565)
        at 
org.identityconnectors.framework.impl.api.local.operations.ThreadClassLoaderManagerProxy.invoke(ThreadClassLoaderManagerProxy.java:96)
        at jdk.proxy2/jdk.proxy2.$Proxy360.test(Unknown Source)
        at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:565)
        at 
org.identityconnectors.framework.impl.api.DelegatingTimeoutProxy.invoke(DelegatingTimeoutProxy.java:98)
        at jdk.proxy2/jdk.proxy2.$Proxy360.test(Unknown Source)
        at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:565)
        at 
org.identityconnectors.framework.impl.api.LoggingProxy.invoke(LoggingProxy.java:89)
        at jdk.proxy2/jdk.proxy2.$Proxy360.test(Unknown Source)
        at 
org.identityconnectors.framework.impl.api.AbstractConnectorFacade.test(AbstractConnectorFacade.java:265)
        at 
org.apache.syncope.core.provisioning.java.AsyncConnectorFacade.test(AsyncConnectorFacade.java:162)
        at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:565)
        at 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
        at 
org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:114)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
        at 
org.springframework.core.task.SimpleAsyncTaskExecutor$TaskTrackingRunnable.run(SimpleAsyncTaskExecutor.java:481)
        at java.base/java.lang.VirtualThread.run(VirtualThread.java:456)

2026-01-12 16:32:10.563
[operation.id=019bb30c-f93a-7283-b710-56f78c5a06d3] DEBUG
[handler-433] rg.identityconnectors.framework.api.operations.ValidateApiOp
: instance='RestPerson' Enter: validate()     Method: validate
2026-01-12 16:32:10.564
[operation.id=019bb30c-f93a-7283-b710-56f78c5a06d3]  INFO
[handler-433] tirasa.connid.commons.scripted.AbstractScriptedConfiguration
: Validate net.tirasa.connid.bundles.rest.RESTConfiguration   Method:
validate
2026-01-12 16:32:10.565
[operation.id=019bb30c-f93a-7283-b710-56f78c5a06d3]  INFO
[handler-433] tirasa.connid.commons.scripted.AbstractScriptedConfiguration
: Checking Create Script filename  Method: validate
2026-01-12 16:32:10.565
[operation.id=019bb30c-f93a-7283-b710-56f78c5a06d3] DEBUG
[handler-433] tirasa.connid.commons.scripted.AbstractScriptedConfiguration
: /opt/syncope/conf/CreateScript.groovy is readable   Method:
checkFileIsReadable
2026-01-12 16:32:10.566
[operation.id=019bb30c-f93a-7283-b710-56f78c5a06d3]  INFO
[handler-433] tirasa.connid.commons.scripted.AbstractScriptedConfiguration
: Checking Update Script filename  Method: validate
2026-01-12 16:32:10.566
[operation.id=019bb30c-f93a-7283-b710-56f78c5a06d3] DEBUG
[handler-433] tirasa.connid.commons.scripted.AbstractScriptedConfiguration
: /opt/syncope/conf/UpdateScript.groovy is readable   Method:
checkFileIsReadable
2026-01-12 16:32:10.566
[operation.id=019bb30c-f93a-7283-b710-56f78c5a06d3]  INFO
[handler-433] tirasa.connid.commons.scripted.AbstractScriptedConfiguration
: Checking Delete Script filename  Method: validate
2026-01-12 16:32:10.567
[operation.id=019bb30c-f93a-7283-b710-56f78c5a06d3] DEBUG
[handler-433] tirasa.connid.commons.scripted.AbstractScriptedConfiguration
: /opt/syncope/conf/DeleteScript.groovy is readable   Method:
checkFileIsReadable
2026-01-12 16:32:10.567
[operation.id=019bb30c-f93a-7283-b710-56f78c5a06d3]  INFO
[handler-433] tirasa.connid.commons.scripted.AbstractScriptedConfiguration
: Checking Search Script filename  Method: validate
2026-01-12 16:32:10.568
[operation.id=019bb30c-f93a-7283-b710-56f78c5a06d3] DEBUG
[handler-433] tirasa.connid.commons.scripted.AbstractScriptedConfiguration
: /opt/syncope/conf/SearchScript.groovy is readable   Method:
checkFileIsReadable
2026-01-12 16:32:10.568
[operation.id=019bb30c-f93a-7283-b710-56f78c5a06d3]  INFO
[handler-433] tirasa.connid.commons.scripted.AbstractScriptedConfiguration
: Checking Sync Script filename    Method: validate
2026-01-12 16:32:10.569
[operation.id=019bb30c-f93a-7283-b710-56f78c5a06d3] DEBUG
[handler-433] tirasa.connid.commons.scripted.AbstractScriptedConfiguration
: /opt/syncope/conf/SyncScript.groovy is readable     Method:
checkFileIsReadable
2026-01-12 16:32:10.569
[operation.id=019bb30c-f93a-7283-b710-56f78c5a06d3]  INFO
[handler-433] tirasa.connid.commons.scripted.AbstractScriptedConfiguration
: Checking Test Script filename    Method: validate
2026-01-12 16:32:10.569
[operation.id=019bb30c-f93a-7283-b710-56f78c5a06d3] DEBUG
[handler-433] tirasa.connid.commons.scripted.AbstractScriptedConfiguration
: /opt/syncope/conf/TestScript.groovy is readable     Method:
checkFileIsReadable
2026-01-12 16:32:10.570
[operation.id=019bb30c-f93a-7283-b710-56f78c5a06d3] DEBUG
[handler-433] tirasa.connid.commons.scripted.AbstractScriptedConfiguration
: Configuration is valid   Method: validate
2026-01-12 16:32:10.570
[operation.id=019bb30c-f93a-7283-b710-56f78c5a06d3] DEBUG
[handler-433] rg.identityconnectors.framework.api.operations.ValidateApiOp
: Return: null     Method: validate
2026-01-12 16:32:10.571 DEBUG [Executor-13]
org.identityconnectors.framework.api.operations.TestApiOp    :
instance='RestPerson' Enter: test()  Method: test
2026-01-12 16:32:10.620 DEBUG [Executor-13]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector : Create
script loaded Method: init
2026-01-12 16:32:10.685 DEBUG [Executor-13]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector : Update
script loaded Method: init
2026-01-12 16:32:10.714 DEBUG [Executor-13]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector : Delete
script loaded Method: init
2026-01-12 16:32:10.795 DEBUG [Executor-13]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector : Search
script loaded Method: init
2026-01-12 16:32:10.865 DEBUG [Executor-13]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector : Sync
script loaded   Method: init
2026-01-12 16:32:10.924 DEBUG [Executor-13]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector : Schema
script loaded Method: init
2026-01-12 16:32:10.956 DEBUG [Executor-13]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector : Test
script loaded   Method: init
2026-01-12 16:32:10.956 DEBUG [Executor-13]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector :
Connector net.tirasa.connid.bundles.rest.RESTConnector successfully
inited   Method: init
2026-01-12 16:32:10.956 DEBUG [Executor-13]
org.identityconnectors.framework.spi.operations.TestOp       :
instance='RestPerson' Enter: test()  Method: test
2026-01-12 16:32:10.956  INFO [Executor-13]
tirasa.connid.commons.scripted.AbstractScriptedConfiguration :
Validate net.tirasa.connid.bundles.rest.RESTConfiguration    Method:
validate
2026-01-12 16:32:10.957  INFO [Executor-13]
tirasa.connid.commons.scripted.AbstractScriptedConfiguration :
Checking Create Script filename      Method: validate
2026-01-12 16:32:10.957 DEBUG [Executor-13]
tirasa.connid.commons.scripted.AbstractScriptedConfiguration :
/opt/syncope/conf/CreateScript.groovy is readable    Method:
checkFileIsReadable
2026-01-12 16:32:10.957  INFO [Executor-13]
tirasa.connid.commons.scripted.AbstractScriptedConfiguration :
Checking Update Script filename      Method: validate
2026-01-12 16:32:10.958 DEBUG [Executor-13]
tirasa.connid.commons.scripted.AbstractScriptedConfiguration :
/opt/syncope/conf/UpdateScript.groovy is readable    Method:
checkFileIsReadable
2026-01-12 16:32:10.958  INFO [Executor-13]
tirasa.connid.commons.scripted.AbstractScriptedConfiguration :
Checking Delete Script filename      Method: validate
2026-01-12 16:32:10.958 DEBUG [Executor-13]
tirasa.connid.commons.scripted.AbstractScriptedConfiguration :
/opt/syncope/conf/DeleteScript.groovy is readable    Method:
checkFileIsReadable
2026-01-12 16:32:10.959  INFO [Executor-13]
tirasa.connid.commons.scripted.AbstractScriptedConfiguration :
Checking Search Script filename      Method: validate
2026-01-12 16:32:10.959 DEBUG [Executor-13]
tirasa.connid.commons.scripted.AbstractScriptedConfiguration :
/opt/syncope/conf/SearchScript.groovy is readable    Method:
checkFileIsReadable
2026-01-12 16:32:10.959  INFO [Executor-13]
tirasa.connid.commons.scripted.AbstractScriptedConfiguration :
Checking Sync Script filename        Method: validate
2026-01-12 16:32:10.959 DEBUG [Executor-13]
tirasa.connid.commons.scripted.AbstractScriptedConfiguration :
/opt/syncope/conf/SyncScript.groovy is readable      Method:
checkFileIsReadable
2026-01-12 16:32:10.960  INFO [Executor-13]
tirasa.connid.commons.scripted.AbstractScriptedConfiguration :
Checking Test Script filename        Method: validate
2026-01-12 16:32:10.960 DEBUG [Executor-13]
tirasa.connid.commons.scripted.AbstractScriptedConfiguration :
/opt/syncope/conf/TestScript.groovy is readable      Method:
checkFileIsReadable
2026-01-12 16:32:10.960 DEBUG [Executor-13]
tirasa.connid.commons.scripted.AbstractScriptedConfiguration :
Configuration is valid       Method: validate
2026-01-12 16:32:10.963  INFO [Executor-13]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector :
Entering TEST Script Method: invoke
2026-01-12 16:32:10.977 DEBUG [Executor-13]
net.tirasa.connid.commons.scripted.AbstractScriptedConnector : Test ok
     Method: test
2026-01-12 16:32:10.977 DEBUG [Executor-13]
org.identityconnectors.framework.spi.operations.TestOp       :
instance='RestPerson' Return Method: test
2026-01-12 16:32:10.977 DEBUG [Executor-13]
org.identityconnectors.framework.api.operations.TestApiOp    : Return:
null Method: test

Reply via email to