Details
Description
When I try to assign a template to a pull task for an external resource, then the pull task itself will fail and report the following error:
12:07:43.422 ERROR org.apache.syncope.core.provisioning.api.job.SchedTaskJobDelegate - While executing provisioning job org.apache.syncope.core.provisioning.java.pushpull.PullJobDelegate
org.quartz.JobExecutionException: While pulling from connector
at org.apache.syncope.core.provisioning.java.pushpull.PullJobDelegate.doExecuteProvisioning(PullJobDelegate.java:284) ~[syncope-core-provisioning-java-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.apache.syncope.core.provisioning.java.pushpull.PullJobDelegate.doExecuteProvisioning(PullJobDelegate.java:60) ~[syncope-core-provisioning-java-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.apache.syncope.core.provisioning.java.pushpull.AbstractProvisioningJobDelegate.doExecute(AbstractProvisioningJobDelegate.java:558) ~[syncope-core-provisioning-java-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.apache.syncope.core.provisioning.java.job.AbstractSchedTaskJobDelegate.execute(AbstractSchedTaskJobDelegate.java:96) ~[syncope-core-provisioning-java-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) ~[spring-tx-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282) ~[spring-tx-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) ~[spring-tx-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.syncope.core.persistence.jpa.spring.DomainTransactionInterceptor.invoke(DomainTransactionInterceptor.java:64) ~[syncope-core-persistence-jpa-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at com.sun.proxy.$Proxy282.execute(Unknown Source) ~[?:?]
at org.apache.syncope.core.provisioning.java.job.TaskJob$1.exec(TaskJob.java:80) ~[syncope-core-provisioning-java-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.apache.syncope.core.provisioning.java.job.TaskJob$1.exec(TaskJob.java:70) ~[syncope-core-provisioning-java-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.apache.syncope.core.spring.security.AuthContextUtils.execWithAuthContext(AuthContextUtils.java:136) ~[syncope-core-spring-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.apache.syncope.core.provisioning.java.job.TaskJob.execute(TaskJob.java:69) ~[syncope-core-provisioning-java-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.quartz.core.JobRunShell.run(JobRunShell.java:202) ~[quartz-2.3.0.jar:?]
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) ~[quartz-2.3.0.jar:?]
Caused by: java.lang.NoSuchMethodError: org.apache.syncope.common.lib.to.UserTO.getRelationshipMap()Ljava/util/Map;
at org.apache.syncope.core.provisioning.java.utils.TemplateUtils.apply(TemplateUtils.java:157) ~[syncope-core-provisioning-java-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.apache.syncope.core.provisioning.java.utils.TemplateUtils$$FastClassBySpringCGLIB$$97dbe3bb.invoke(<generated>) ~[syncope-core-provisioning-java-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) ~[spring-tx-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282) ~[spring-tx-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) ~[spring-tx-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.syncope.core.persistence.jpa.spring.DomainTransactionInterceptor.invoke(DomainTransactionInterceptor.java:64) ~[syncope-core-persistence-jpa-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.syncope.core.provisioning.java.utils.TemplateUtils$$EnhancerBySpringCGLIB$$6a992916.apply(<generated>) ~[syncope-core-provisioning-java-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.apache.syncope.core.provisioning.java.utils.ConnObjectUtils.getAnyTOFromConnObject(ConnObjectUtils.java:263) ~[syncope-core-provisioning-java-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.apache.syncope.core.provisioning.java.utils.ConnObjectUtils.getAnyTO(ConnObjectUtils.java:124) ~[syncope-core-provisioning-java-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.apache.syncope.core.provisioning.java.utils.ConnObjectUtils$$FastClassBySpringCGLIB$$f9df3c4a.invoke(<generated>) ~[syncope-core-provisioning-java-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) ~[spring-tx-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282) ~[spring-tx-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) ~[spring-tx-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.syncope.core.persistence.jpa.spring.DomainTransactionInterceptor.invoke(DomainTransactionInterceptor.java:64) ~[syncope-core-persistence-jpa-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.syncope.core.provisioning.java.utils.ConnObjectUtils$$EnhancerBySpringCGLIB$$d55b8423.getAnyTO(<generated>) ~[syncope-core-provisioning-java-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.apache.syncope.core.provisioning.java.pushpull.AbstractPullResultHandler.provision(AbstractPullResultHandler.java:214) ~[syncope-core-provisioning-java-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.apache.syncope.core.provisioning.java.pushpull.AbstractPullResultHandler.doHandle(AbstractPullResultHandler.java:733) ~[syncope-core-provisioning-java-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.apache.syncope.core.provisioning.java.pushpull.AbstractPullResultHandler.handle(AbstractPullResultHandler.java:130) ~[syncope-core-provisioning-java-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at sun.reflect.GeneratedMethodAccessor1143.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) ~[spring-tx-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282) ~[spring-tx-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) ~[spring-tx-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.syncope.core.persistence.jpa.spring.DomainTransactionInterceptor.invoke(DomainTransactionInterceptor.java:64) ~[syncope-core-persistence-jpa-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at com.sun.proxy.$Proxy285.handle(Unknown Source) ~[?:?]
at org.identityconnectors.framework.impl.api.StreamHandlerUtil$ObjectStreamHandlerAdapter.handle(StreamHandlerUtil.java:107) ~[connector-framework-internal-1.4.2.0.jar:?]
at org.identityconnectors.framework.impl.api.BufferedResultsProxy.invoke(BufferedResultsProxy.java:262) ~[connector-framework-internal-1.4.2.0.jar:?]
at org.identityconnectors.framework.impl.api.DelegatingTimeoutProxy.invoke(DelegatingTimeoutProxy.java:94) ~[connector-framework-internal-1.4.2.0.jar:?]
at com.sun.proxy.$Proxy287.sync(Unknown Source) ~[?:?]
at sun.reflect.GeneratedMethodAccessor1127.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
at org.identityconnectors.framework.impl.api.LoggingProxy.invoke(LoggingProxy.java:83) ~[connector-framework-internal-1.4.2.0.jar:?]
at com.sun.proxy.$Proxy287.sync(Unknown Source) ~[?:?]
at org.identityconnectors.framework.impl.api.AbstractConnectorFacade.sync(AbstractConnectorFacade.java:288) ~[connector-framework-internal-1.4.2.0.jar:?]
at org.apache.syncope.core.provisioning.java.ConnectorFacadeProxy.sync(ConnectorFacadeProxy.java:271) ~[syncope-core-provisioning-java-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
at org.apache.syncope.core.provisioning.java.pushpull.PullJobDelegate.doExecuteProvisioning(PullJobDelegate.java:253) ~[syncope-core-provisioning-java-2.0.4-SNAPSHOT.jar:2.0.4-SNAPSHOT]
... 23 more
When the temlate is removed, everything goes back to normal and users are created via the normal procedure. This seems like a bug to me. I am able to provision users to the external resource by assigning them dynamically to groups but not via the template function.