You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@syncope.apache.org by Francesco Chicchiriccò <il...@apache.org> on 2017/12/04 09:55:25 UTC

Re: Request Password Request API Not Working After Upgrade from 2.0.4 to 2.0.6

Hi,
the error below is raised after all operations have been successfully 
completed, as it can be derived from the stack trace element:

org.apache.syncope.core.logic.LogicInvocationHandler.around(LogicInvocationHandler.java:82)

This is why the e-mail is effectively sent, as you report.

Anyway, I have just fixed this in

https://github.com/apache/syncope/commit/d862c40c1ed7899e4f35e8f3913f46bb51cd1866

Thanks for reporting.
Regards.

On 01/12/2017 00:32, justin.isenhour wrote:
> I have been running Syncope v2.0.4 for a few months now in a non-production
> environment. I recently upgraded to v2.0.6 (I first upgraded to 2.0.5
> following documentation on Wiki page).  After the upgrade the basic
> functionality appears to be working but now when we try to request password
> reset we are getting an error.  This exact same call was working correctly
> in 2.0.4.  Below is the stack trace.  The API call is returning 409
> DataIntegrityViolation.  Even though this error occurs the user is still
> getting the password reset email.
>
> Did I miss something during the upgrade?  Any thoughts as to a solution?
>
> 2017-11-30 18:18:01.566 [https-jsse-nio-8443-exec-1] [DEBUG]
> [org.apache.syncope.core.persistence.jpa.spring.DomainTransactionInterceptor]
> - Error during public abstract org.apache.syncope.common.lib.to.UserTO
> org.apache.syncope.core.provisioning.api.data.UserDataBinder.getUserTO(java.lang.String)
> invocation
> org.apache.syncope.core.persistence.api.dao.NotFoundException: User
> user54@place.com
>          at
> org.apache.syncope.core.persistence.jpa.dao.AbstractAnyDAO.authFind(AbstractAnyDAO.java:169)
> ~[syncope-core-persistence-jpa-2.0.6.jar:2.0.6]
>          at sun.reflect.GeneratedMethodAccessor291.invoke(Unknown Source)
> ~[?:?]
>          at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> ~[?:1.8.0_121]
>          at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
>          at
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
> ~[spring-aop-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
> ~[spring-aop-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
> ~[spring-aop-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
> ~[spring-tx-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
> ~[spring-tx-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
> ~[spring-tx-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.apache.syncope.core.persistence.jpa.spring.DomainTransactionInterceptor.invoke(DomainTransactionInterceptor.java:64)
> ~[syncope-core-persistence-jpa-2.0.6.jar:2.0.6]
>          at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> ~[spring-aop-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
> ~[spring-aop-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at com.sun.proxy.$Proxy56.authFind(Unknown Source) ~[?:?]
>          at
> org.apache.syncope.core.provisioning.java.data.UserDataBinderImpl.getUserTO(UserDataBinderImpl.java:643)
> ~[syncope-core-provisioning-java-2.0.6.jar:2.0.6]
>          at sun.reflect.GeneratedMethodAccessor446.invoke(Unknown Source)
> ~[?:?]
>          at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> ~[?:1.8.0_121]
>          at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
>          at
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
> ~[spring-aop-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
> ~[spring-aop-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
> ~[spring-aop-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
> ~[spring-tx-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
> ~[spring-tx-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
> ~[spring-tx-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.apache.syncope.core.persistence.jpa.spring.DomainTransactionInterceptor.invoke(DomainTransactionInterceptor.java:64)
> ~[syncope-core-persistence-jpa-2.0.6.jar:2.0.6]
>          at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> ~[spring-aop-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
> ~[spring-aop-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at com.sun.proxy.$Proxy76.getUserTO(Unknown Source) ~[?:?]
>          at
> org.apache.syncope.core.logic.UserLogic.resolveReference(UserLogic.java:520)
> ~[syncope-core-logic-2.0.6.jar:2.0.6]
>          at
> org.apache.syncope.core.logic.UserLogic.resolveReference(UserLogic.java:68)
> ~[syncope-core-logic-2.0.6.jar:2.0.6]
>          at
> org.apache.syncope.core.logic.AbstractLogic.resolveBeanReference(AbstractLogic.java:50)
> ~[syncope-core-logic-2.0.6.jar:2.0.6]
>          at
> org.apache.syncope.core.logic.LogicInvocationHandler.around(LogicInvocationHandler.java:82)
> ~[syncope-core-logic-2.0.6.jar:2.0.6]
>          at sun.reflect.GeneratedMethodAccessor104.invoke(Unknown Source)
> ~[?:?]
>          at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> ~[?:1.8.0_121]
>          at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
>          at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:629)
> ~[spring-aop-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:618)
> ~[spring-aop-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)
> ~[spring-aop-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> ~[spring-aop-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
> ~[spring-tx-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
> ~[spring-tx-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
> ~[spring-tx-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.apache.syncope.core.persistence.jpa.spring.DomainTransactionInterceptor.invoke(DomainTransactionInterceptor.java:64)
> ~[syncope-core-persistence-jpa-2.0.6.jar:2.0.6]
>          at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> ~[spring-aop-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:69)
> ~[spring-security-core-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> ~[spring-aop-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
> ~[spring-aop-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> ~[spring-aop-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:656)
> ~[spring-aop-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.apache.syncope.core.logic.UserLogic$$EnhancerBySpringCGLIB$$5768dab1.requestPasswordReset(<generated>)
> ~[syncope-core-logic-2.0.6.jar:2.0.6]
>          at
> org.apache.syncope.core.rest.cxf.service.UserSelfServiceImpl.requestPasswordReset(UserSelfServiceImpl.java:99)
> ~[syncope-core-rest-cxf-2.0.6.jar:2.0.6]
>          at sun.reflect.GeneratedMethodAccessor645.invoke(Unknown Source)
> ~[?:?]
>          at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> ~[?:1.8.0_121]
>          at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
>          at
> org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)
> ~[cxf-core-3.1.13.jar:3.1.13]
>          at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
> ~[cxf-core-3.1.13.jar:3.1.13]
>          at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:191)
> ~[cxf-rt-frontend-jaxrs-3.1.13.jar:3.1.13]
>          at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:101)
> ~[cxf-rt-frontend-jaxrs-3.1.13.jar:3.1.13]
>          at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59)
> ~[cxf-core-3.1.13.jar:3.1.13]
>          at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96)
> ~[cxf-core-3.1.13.jar:3.1.13]
>          at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
> ~[cxf-core-3.1.13.jar:3.1.13]
>          at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
> ~[cxf-core-3.1.13.jar:3.1.13]
>          at
> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267)
> ~[cxf-rt-transports-http-3.1.13.jar:3.1.13]
>          at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234)
> ~[cxf-rt-transports-http-3.1.13.jar:3.1.13]
>          at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208)
> ~[cxf-rt-transports-http-3.1.13.jar:3.1.13]
>          at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)
> ~[cxf-rt-transports-http-3.1.13.jar:3.1.13]
>          at
> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:189)
> ~[cxf-rt-transports-http-3.1.13.jar:3.1.13]
>          at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:303)
> ~[cxf-rt-transports-http-3.1.13.jar:3.1.13]
>          at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:222)
> ~[cxf-rt-transports-http-3.1.13.jar:3.1.13]
>          at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
> ~[servlet-api.jar:?]
>          at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:278)
> ~[cxf-rt-transports-http-3.1.13.jar:3.1.13]
>          at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
> ~[catalina.jar:8.5.9]
>          at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
> ~[catalina.jar:8.5.9]
>          at
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> ~[tomcat-websocket.jar:8.5.9]
>          at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
> ~[catalina.jar:8.5.9]
>          at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
> ~[catalina.jar:8.5.9]
>          at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
> ~[spring-security-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
> ~[spring-security-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
> ~[spring-security-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> ~[spring-security-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.apache.syncope.core.spring.security.MustChangePasswordFilter.doFilter(MustChangePasswordFilter.java:77)
> ~[syncope-core-spring-2.0.6.jar:2.0.6]
>          at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
> ~[spring-security-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> ~[spring-security-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
> ~[spring-security-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> ~[spring-security-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)
> ~[spring-security-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> ~[spring-security-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158)
> ~[spring-security-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> ~[spring-web-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> ~[spring-security-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:107)
> ~[spring-web-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.apache.syncope.core.spring.security.custom.CGCustomAuthenticationFilter.doFilterInternal(CGCustomAuthenticationFilter.java:82)
> ~[classes/:?]
>          at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> ~[spring-web-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:112)
> ~[spring-web-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.apache.syncope.core.spring.security.JWTAuthenticationFilter.doFilterInternal(JWTAuthenticationFilter.java:90)
> ~[syncope-core-spring-2.0.6.jar:2.0.6]
>          at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> ~[spring-web-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:112)
> ~[spring-web-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:73)
> ~[spring-web-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> ~[spring-security-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
> ~[spring-security-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> ~[spring-web-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> ~[spring-security-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
> ~[spring-security-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> ~[spring-security-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
> ~[spring-security-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
> ~[spring-security-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
>          at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
> ~[spring-web-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
> ~[spring-web-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
> ~[catalina.jar:8.5.9]
>          at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
> ~[catalina.jar:8.5.9]
>          at
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
> ~[spring-web-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> ~[spring-web-4.3.6.RELEASE.jar:4.3.6.RELEASE]
>          at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
> ~[catalina.jar:8.5.9]
>          at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
> ~[catalina.jar:8.5.9]
>          at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
> ~[catalina.jar:8.5.9]
>          at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
> ~[catalina.jar:8.5.9]
>          at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)
> ~[catalina.jar:8.5.9]
>          at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
> ~[catalina.jar:8.5.9]
>          at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
> ~[catalina.jar:8.5.9]
>          at
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
> ~[catalina.jar:8.5.9]
>          at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
> ~[catalina.jar:8.5.9]
>          at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
> ~[catalina.jar:8.5.9]
>          at
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)
> ~[tomcat-coyote.jar:8.5.9]
>          at
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
> ~[tomcat-coyote.jar:8.5.9]
>          at
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:789)
> ~[tomcat-coyote.jar:8.5.9]
>          at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1437)
> ~[tomcat-coyote.jar:8.5.9]
>          at
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
> ~[tomcat-coyote.jar:8.5.9]
>          at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> ~[?:1.8.0_121]
>          at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> ~[?:1.8.0_121]
>          at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> ~[tomcat-util.jar:8.5.9]
>          at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
>
>
> --
> Sent from: http://syncope-user.1051894.n5.nabble.com/


-- 
Francesco Chicchiriccò

Tirasa - Open Source Excellence
http://www.tirasa.net/

Member at The Apache Software Foundation
Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail
http://home.apache.org/~ilgrosso/


Re: Request Password Request API Not Working After Upgrade from 2.0.4 to 2.0.6

Posted by "justin.isenhour" <ju...@compass-usa.com>.
Great, thanks for the quick turnaround on this issue.  I will apply these
code changes locally for now.

Thanks,
Justin Isenhour

--
Sent from: http://syncope-user.1051894.n5.nabble.com/

Re: Request Password Request API Not Working After Upgrade from 2.0.4 to 2.0.6

Posted by "justin.isenhour" <ju...@compass-usa.com>.
Francesco,

I have reverted all of my previous changes and replaced with your latest set
and it appears to be working fine now.  Thanks for your support.


Thanks,
Justin Isenhour

--
Sent from: http://syncope-user.1051894.n5.nabble.com/

Re: Request Password Request API Not Working After Upgrade from 2.0.4 to 2.0.6

Posted by ilgrosso <il...@apache.org>.
Oops, you're right, there is a mistake in the conditional logic, just fixed
with [1]

Please revert any other change, and make your UserLogic#resolveReference
method look like [2]

Regards.

[1]
https://github.com/apache/syncope/commit/a9cbd25f872e175fa4c4af52502f55c7b8edcdf1
[2]
https://github.com/apache/syncope/blob/a9cbd25f872e175fa4c4af52502f55c7b8edcdf1/core/logic/src/main/java/org/apache/syncope/core/logic/UserLogic.java#L502-L532

--
Sent from: http://syncope-user.1051894.n5.nabble.com/

Re: Request Password Request API Not Working After Upgrade from 2.0.4 to 2.0.6

Posted by "justin.isenhour" <ju...@compass-usa.com>.
I have completed those changes locally and the complete Password Reset
process is now working as expected.  In order to make this work I also had
to add the authFindByusername method back to the UserDAO & JpaUserDAO
classes.  I assume this functionality was removed for a reason so please
suggest a better solution long term.

Thanks,
Justin

--
Sent from: http://syncope-user.1051894.n5.nabble.com/

Re: Request Password Request API Not Working After Upgrade from 2.0.4 to 2.0.6

Posted by "justin.isenhour" <ju...@compass-usa.com>.
After further investigation I see the issue.  The code I will be referencing
is UserDataBinderImpl.java under provisioning-java project.  The code we
were looking at before, UserLogic will call this classes getUserTO(string
key) method.  That method in 2.0.4 had logic to get user by either key or
username, in 2.0.6 it is now only supports key.  However, the call into
UserLogic doesn't have the key, only has the username.

*2.0.4*
@Transactional(readOnly = true)
    @Override
    public UserTO getUserTO(final String key) {
        return SyncopeConstants.UUID_PATTERN.matcher(key).matches()
                ? getUserTO(userDAO.authFind(key), true)
                : getUserTO(userDAO.authFindByUsername(key), true);
    }


*2.0.6*
@Transactional(readOnly = true)
    @Override
    public UserTO getUserTO(final String key) {
        return getUserTO(userDAO.authFind(key), true);
    }


For now, to solve my problem, I will use the 2.0.4 version of this method
locally and await a proper fix for later.


Thanks,
Justin

--
Sent from: http://syncope-user.1051894.n5.nabble.com/

Re: Request Password Request API Not Working After Upgrade from 2.0.4 to 2.0.6

Posted by "justin.isenhour" <ju...@compass-usa.com>.
When I debug this locally I see that the UserLogic.resolveReference is
getting called, the args objects is an array that contains 2 strings.  In my
test that looks like this:

[user55@place.com, charlotte]

index 0 is the username, index 1 is the answer to the security question. 
The first if statement checks to see if index 0 is a string and if so simply
sets that value as the key, in my case I am not getting the key, I am
getting the username.

--
Sent from: http://syncope-user.1051894.n5.nabble.com/

Re: Request Password Request API Not Working After Upgrade from 2.0.4 to 2.0.6

Posted by "justin.isenhour" <ju...@compass-usa.com>.
Francesco,

I took the code changes from your commit and applied those same changes
locally but I am still getting the same error, line number references in
UserLogic.java is different due to code changes so I know it is picking up
new code.  Were there any changes needed other than to UserLogic.java or am
I missing something else?

Thanks,
Justin Isenhour

--
Sent from: http://syncope-user.1051894.n5.nabble.com/