You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@syncope.apache.org by "Francesco Chicchiriccò (JIRA)" <ji...@apache.org> on 2013/05/31 12:40:20 UTC
[jira] [Updated] (SYNCOPE-381) Adding and saving roles with
resources during save
[ https://issues.apache.org/jira/browse/SYNCOPE-381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Francesco Chicchiriccò updated SYNCOPE-381:
-------------------------------------------
Summary: Adding and saving roles with resources during save (was: Adding and saving roles using the console on glassfish appserver appears to hang the role popup window when saving)
> Adding and saving roles with resources during save
> --------------------------------------------------
>
> Key: SYNCOPE-381
> URL: https://issues.apache.org/jira/browse/SYNCOPE-381
> Project: Syncope
> Issue Type: Bug
> Components: console
> Affects Versions: 1.1.1
> Environment: -bash-4.1# cat /etc/*ease*
> CentOS release 6.3 (Final)
> cat: /etc/lsb-release.d: Is a directory
> CentOS release 6.3 (Final)
> CentOS release 6.3 (Final)
> cpe:/o:centos:linux:6:GA
> -bash-4.1#
> Reporter: Nik Tetteh-Lartey
> Priority: Minor
>
> add a new role which is connected to an ldap by a resource connector.
> Then after pressing save the role popup window appears hung, so press save several times and eventually use the x to cancel.
> You end up with many duplicate roles. If you delete all the duplicates until you end with one role and then try and create a new role we get the following exception thrown:
> 2013-05-31 11:13:07.514+0200 (21) StandardWrapperValve[syncope-core-rest]: PWC1406: Servlet.service() for servlet syncope-core-rest threw exception
> org.apache.syncope.core.persistence.dao.NotFoundException: Role 101
> at org.apache.syncope.core.rest.data.RoleDataBinder.getRoleFromId(RoleDataBinder.java:73)
> at org.apache.syncope.core.rest.data.RoleDataBinder$$FastClassByCGLIB$$75f19568.invoke(<generated>)
> at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
> at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:698)
> at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
> at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
> at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
> at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
> at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
> at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:631)
> at org.apache.syncope.core.rest.data.RoleDataBinder$$EnhancerByCGLIB$$bff86965.getRoleFromId(<generated>)
> at org.apache.syncope.core.rest.controller.RoleController.read(RoleController.java:109)
> at org.apache.syncope.core.rest.controller.RoleController$$FastClassByCGLIB$$77c6d55e.invoke(<generated>)
> at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
> at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:698)
> at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
> at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
> at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
> at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
> at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
> at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:64)
> at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
> at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:631)
> at org.apache.syncope.core.rest.controller.RoleController$$EnhancerByCGLIB$$1acaf620.read(<generated>)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
> at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:440)
> at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:428)
> at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
> at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
> at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
> at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
> at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
> at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
> at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
> at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:201)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
> at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
> at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
> at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
> at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
> at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
> at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
> at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
> at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
> at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
> at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
> at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
> at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
> at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
> at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
> at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
> at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
> at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
> at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
> at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
> at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
> at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
> at java.lang.Thread.run(Thread.java:662)
> WORKAROUND:
> Use the command REST interface:
> e.g.
> [nik@anvil idmRBAC]$ curl -u admin:passwoX POST http://10.0.0.183:9090/syncope/cxf/roles --data "<role><name>babar6</name></role>" -H "Content-type: application/xml" -D /tmp/headers <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <role>
> <attributes/>
> <derivedAttributes/>
> <id>117</id>
> <propagationStatuses/>
> <resources/>
> <virtualAttributes/>
> <entitlements/>
> <inheritAccountPolicy>false</inheritAccountPolicy>
> <inheritAttributes>false</inheritAttributes>
> <inheritDerivedAttributes>false</inheritDerivedAttributes>
> <inheritOwner>false</inheritOwner>
> <inheritPasswordPolicy>false</inheritPasswordPolicy>
> <inheritVirtualAttributes>false</inheritVirtualAttributes>
> <name>babar6</name>
> <parent>0</parent>
> </role>
> [nik@anvil idmRBAC]$ curl -u admin:password -H "Content-Type: application/json" -X GET http://10.0.0.183:9090/syncope/cxf/roles/{117}
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <role>
> <attributes/>
> <derivedAttributes/>
> <id>117</id>
> <propagationStatuses/>
> <resources/>
> <virtualAttributes/>
> <entitlements/>
> <inheritAccountPolicy>false</inheritAccountPolicy>
> <inheritAttributes>false</inheritAttributes>
> <inheritDerivedAttributes>false</inheritDerivedAttributes>
> <inheritOwner>false</inheritOwner>
> <inheritPasswordPolicy>false</inheritPasswordPolicy>
> <inheritVirtualAttributes>false</inheritVirtualAttributes>
> <name>babar6</name>
> <parent>0</parent>
> </role>
> [nik@anvil idmRBAC]$
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira