HTTP Status 500 - JasperReports Repository User Not Found when integrated with CA Spectrum
search cancel

HTTP Status 500 - JasperReports Repository User Not Found when integrated with CA Spectrum

book

Article ID: 207828

calendar_today

Updated On:

Products

CA Spectrum DX NetOps

Issue/Introduction

After upgrading to Spectrum 20.2.3, the integration with CABI JasperReports stopped working.

The following error is generated:

org.springframework.security.authentication.BadCredentialsException: Repository User Not Found with user name=[email protected] and tenant id=spectrum

The Enable SSO option is enabled and used to work fine before the upgrade.

HTTP Status 500 – Internal Server Error


Type Exception Report

Message Error during synchronization

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

org.springframework.security.authentication.AuthenticationServiceException: Error during synchronization	com.jaspersoft.jasperserver.api.security.externalAuth.ExternalDataSynchronizerImpl.synchronize(ExternalDataSynchronizerImpl.java:106)	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)	sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)	sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)	java.lang.reflect.Method.invoke(Unknown Source)	org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)	org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)	org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)	org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)	org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)	org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)	org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)	org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)	com.sun.proxy.$Proxy115.synchronize(Unknown Source)	com.ca.bicoe.cajasperserver.preauth.sso.authentication.ProxyAuthenticationFilter.onSuccessfulAuthentication(ProxyAuthenticationFilter.java:318)	com.ca.bicoe.cajasperserver.preauth.sso.authentication.ProxyAuthenticationFilter.processattemptAuthentication(ProxyAuthenticationFilter.java:248)	com.ca.bicoe.cajasperserver.preauth.sso.authentication.ProxyAuthenticationFilter.doFilterext(ProxyAuthenticationFilter.java:218)	com.ca.bicoe.cajasperserver.preauth.sso.authentication.ProxyAuthenticationFilter.doFilter(ProxyAuthenticationFilter.java:153)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.jasperserver.multipleTenancy.MTBasicProcessingFilter.doFilter(MTBasicProcessingFilter.java:194)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:239)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.ji.license.LicenseCheckFilter.doFilter(LicenseCheckFilter.java:103)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.ji.license.JILicenseFilter.doFilter(JILicenseFilter.java:86)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.jasperserver.war.NullFilter.doFilter(NullFilter.java:43)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.ca.bicoe.cajasperserver.preauth.sso.ext.filter.ExternalAuthenticationProxyFilter.doFilter(ExternalAuthenticationProxyFilter.java:83)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:239)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.jasperserver.api.logging.filter.BasicLoggingFilter.doFilter(BasicLoggingFilter.java:57)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.jasperserver.api.security.WebAppSecurityFilter.doFilter(WebAppSecurityFilter.java:80)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.jasperserver.war.MultipartRequestWrapperFilter.doFilter(MultipartRequestWrapperFilter.java:95)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.jasperserver.war.NullFilter.doFilter(NullFilter.java:43)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.jasperserver.api.security.encryption.EncryptionFilter.doFilter(EncryptionFilter.java:150)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.ca.bicoe.cajasperserver.preauth.sso.filters.BasicRefererBasedCsrfFilter.doFilter(BasicRefererBasedCsrfFilter.java:99)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)	org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	com.jaspersoft.jasperserver.war.util.SessionDecoratorFilter.doFilter(SessionDecoratorFilter.java:63)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	com.jaspersoft.jasperserver.war.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:67)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	com.jaspersoft.jasperserver.war.httpheaders.ResourceHTTPHeadersFilter.doFilter(ResourceHTTPHeadersFilter.java:77)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	com.jaspersoft.jasperserver.war.SessionXssNonceSetterFilter.doFilter(SessionXssNonceSetterFilter.java:64)	com.jaspersoft.jasperserver.war.P3PFilter.doFilter(P3PFilter.java:43)

Root Cause

org.springframework.security.authentication.BadCredentialsException: Repository User Not Found with user [email protected] and tenant id=spectrum	com.ca.bicoe.cajasperserver.preauth.sso.authentication.processors.TenantUserValidationProcessor.processUser(TenantUserValidationProcessor.java:223)	com.ca.bicoe.cajasperserver.preauth.sso.authentication.processors.TenantUserValidationProcessor.processTenant(TenantUserValidationProcessor.java:199)	com.ca.bicoe.cajasperserver.preauth.sso.authentication.processors.TenantUserValidationProcessor.process(TenantUserValidationProcessor.java:176)	com.jaspersoft.jasperserver.api.security.externalAuth.ExternalDataSynchronizerImpl.synchronize(ExternalDataSynchronizerImpl.java:86)	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)	sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)	sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)	java.lang.reflect.Method.invoke(Unknown Source)	org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)	org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)	org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)	org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)	org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)	org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)	org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)	org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)	com.sun.proxy.$Proxy115.synchronize(Unknown Source)	com.ca.bicoe.cajasperserver.preauth.sso.authentication.ProxyAuthenticationFilter.onSuccessfulAuthentication(ProxyAuthenticationFilter.java:318)	com.ca.bicoe.cajasperserver.preauth.sso.authentication.ProxyAuthenticationFilter.processattemptAuthentication(ProxyAuthenticationFilter.java:248)	com.ca.bicoe.cajasperserver.preauth.sso.authentication.ProxyAuthenticationFilter.doFilterext(ProxyAuthenticationFilter.java:218)	com.ca.bicoe.cajasperserver.preauth.sso.authentication.ProxyAuthenticationFilter.doFilter(ProxyAuthenticationFilter.java:153)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.jasperserver.multipleTenancy.MTBasicProcessingFilter.doFilter(MTBasicProcessingFilter.java:194)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:239)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.ji.license.LicenseCheckFilter.doFilter(LicenseCheckFilter.java:103)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.ji.license.JILicenseFilter.doFilter(JILicenseFilter.java:86)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.jasperserver.war.NullFilter.doFilter(NullFilter.java:43)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.ca.bicoe.cajasperserver.preauth.sso.ext.filter.ExternalAuthenticationProxyFilter.doFilter(ExternalAuthenticationProxyFilter.java:83)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:239)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.jasperserver.api.logging.filter.BasicLoggingFilter.doFilter(BasicLoggingFilter.java:57)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.jasperserver.api.security.WebAppSecurityFilter.doFilter(WebAppSecurityFilter.java:80)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.jasperserver.war.MultipartRequestWrapperFilter.doFilter(MultipartRequestWrapperFilter.java:95)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.jasperserver.war.NullFilter.doFilter(NullFilter.java:43)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.jaspersoft.jasperserver.api.security.encryption.EncryptionFilter.doFilter(EncryptionFilter.java:150)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	com.ca.bicoe.cajasperserver.preauth.sso.filters.BasicRefererBasedCsrfFilter.doFilter(BasicRefererBasedCsrfFilter.java:99)	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)	org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)	org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	com.jaspersoft.jasperserver.war.util.SessionDecoratorFilter.doFilter(SessionDecoratorFilter.java:63)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	com.jaspersoft.jasperserver.war.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:67)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	com.jaspersoft.jasperserver.war.httpheaders.ResourceHTTPHeadersFilter.doFilter(ResourceHTTPHeadersFilter.java:77)	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)	com.jaspersoft.jasperserver.war.SessionXssNonceSetterFilter.doFilter(SessionXssNonceSetterFilter.java:64)	com.jaspersoft.jasperserver.war.P3PFilter.doFilter(P3PFilter.java:43)

Note The full stack trace of the root cause is available in the server logs.

 

Environment

DX NetOps Release : 20.2 or later
Component : Jaspersoft for CA Spectrum

Cause

The userSync option is disabled in the Spectrum Report Manager Preferences.

Enable "SRM - Core - Report Manager" module in debug mode to troubleshoot integration issues under:

Spectrum WEB GUI -> Administration -> Debugging -> Web Server Debug Page (Runtime)

This will output debug to the OneClick (Spectrum Tomcat) server log, such as:

Feb 03, 2021 09:15:36.689 (http-nio-80-exec-7) (RepMgr) - (DEBUG) - Jasper SSO is : true
Feb 03, 2021 09:15:36.704 (http-nio-80-exec-7) (RepMgr) - (DEBUG) - Getting Jasper Server Info...
Feb 03, 2021 09:15:36.704 (http-nio-80-exec-7) (RepMgr) - (DEBUG) - Server Info URL:http://JasperHost:8080/jasperserver-pro/rest_v2/serverInfo
Feb 03, 2021 09:15:36.987 (http-nio-80-exec-7) (RepMgr) - (DEBUG) - Jasper Server Info:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><serverInfo><build>20180522_1000</build><dateFormatPattern>yyyy-MM-dd</dateFormatPattern><datetimeFormatPattern>yyyy-MM-dd'T'HH:mm:ss</datetimeFormatPattern><edition>PRO</edition><editionName>Enterprise</editionName><features>AUD MT EXP Fusion AHD DB </features><licenseType>Commercial</licenseType><version>6.4.3</version></serverInfo>
Feb 03, 2021 09:15:37.003 (http-nio-80-exec-7) (RepMgr) - (DEBUG) - Integrated with Jasper Server @JasperHost, Enabled=true
Feb 03, 2021 09:15:37.003 (http-nio-80-exec-7) (RepMgr) - (DEBUG) - Granting MySQL privileges to JasperServer JasperHost
Feb 03, 2021 09:15:37.003 (http-nio-80-exec-7) (RepMgr) - (DEBUG) - MySQL privilege grant operation completed.
Feb 03, 2021 09:15:37.018 (http-nio-80-exec-7) (RepMgr) - (DEBUG) - value of isJasperMultitenancyEnabled--false
Feb 03, 2021 09:16:03.458 (SRM/DeviceModelPoll/updates) - InterfaceAssets:  unable to get port list for  device doesn't contains interfaces for 0x11dcb0
Feb 03, 2021 09:16:14.057 (SRM/DeviceModelPoll/updates) - InterfaceAssets:  unable to get port list for  device doesn't contains interfaces for 0x1441fc
Feb 03, 2021 09:16:41.237 (http-nio-80-exec-7) (RepMgr) - (DEBUG) - Integrated with Jasper Server @JasperHost, Enabled=true
Feb 03, 2021 09:16:41.237 (http-nio-80-exec-7) (RepMgr) - (DEBUG) - isJasperEnabled: true isUserSync:  false
Feb 03, 2021 09:16:41.237 (http-nio-80-exec-7) (RepMgr) - (DEBUG) - Jasper SSO is ON, Updating key stores
Feb 03, 2021 09:16:41.237 (http-nio-80-exec-7) (RepMgr) - (DEBUG) - Enabling SSO with jasper server...

[B@7326944e

Feb 03, 2021 09:16:41.612 (http-nio-80-exec-7) (RepMgr) - (DEBUG) - Read username [email protected]

This shows that SRM user synchronisation is not enabled.

Resolution

Enable the UserSync option in the Spectrum Report Manager Preferences:

One of the two options can be performed to trigger the User synchronization:

  • Disable/enable Jasper integration
  • Restart Spectrum Tomcat service