← Back to team overview

dhis2-devs team mailing list archive

Re: Wierd ClassCastException on WebAPI calls

 

That looks really strange. What is the request you are doing? is it just
/api? Resources are definitely not a idObject

--
Morten


On Mon, Oct 14, 2013 at 2:46 PM, Lars Kristian Roland <lars@xxxxxxxxx>wrote:

>  Here is a stack trace of Saptarshi's problem (also happens on my IE)
>
> HTTP Status 500 - Request processing failed; nested exception is
> java.lang.ClassCastException: org.hisp.dhis.api.webdomain.Resources cannot
> be cast to org.hisp.dhis.common.IdentifiableObject
> ------------------------------
>
> *type* Exception report
>
> *message* *Request processing failed; nested exception is
> java.lang.ClassCastException: org.hisp.dhis.api.webdomain.Resources cannot
> be cast to org.hisp.dhis.common.IdentifiableObject*
>
> *description* *The server encountered an internal error that prevented it
> from fulfilling this request.*
>
> *exception*
>
> org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.ClassCastException: org.hisp.dhis.api.webdomain.Resources cannot be cast to org.hisp.dhis.common.IdentifiableObject
> 	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:948)
> 	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
> 	org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
> 	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
> 	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.hisp.dhis.security.filter.CustomAuthenticationFilter.doFilter(CustomAuthenticationFilter.java:55)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:113)
> 	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)
> 	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)
> 	org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:152)
> 	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> 	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
> 	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>
> *root cause*
>
> java.lang.ClassCastException: org.hisp.dhis.api.webdomain.Resources cannot be cast to org.hisp.dhis.common.IdentifiableObject
> 	org.hisp.dhis.api.view.AbstractGridView.renderMergedOutputModel(AbstractGridView.java:113)
> 	org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:263)
> 	org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1208)
> 	org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:992)
> 	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:939)
> 	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
> 	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
> 	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
> 	org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
> 	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
> 	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.hisp.dhis.security.filter.CustomAuthenticationFilter.doFilter(CustomAuthenticationFilter.java:55)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
> 	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> 	org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:113)
> 	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)
> 	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)
> 	org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:152)
> 	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> 	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
> 	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>
> *note* *The full stack trace of the root cause is available in the Apache
> Tomcat/7.0.30 logs.*
> ------------------------------
> Apache Tomcat/7.0.30
>
>
>
>  On 14.10.2013 13:30, Morten Olav Hansen wrote:
>
> Hi Sap,
>
>  Do you have a stacktrace or something we can use as a starting point?
>
>  --
> Morten
>
>
> On Mon, Oct 14, 2013 at 12:57 PM, Saptarshi Purkayastha <sunbiz@xxxxxxxxx>wrote:
>
>>  On certain browsers and client's I've seen a wierd ClassCastException
>> thrown from the server.
>> The status returned is 500.
>> But this happens only on certain clients in IE8 and Android ICS.
>> It works fine with Chrome, Firefox etc.
>>
>> May be its related to accept header and the mimeType its sending for
>> text/html. But this is only a wild guess.
>> Will be good to fix before the 2.13 release.
>>
>> ---
>> Regards,
>> Saptarshi PURKAYASTHA
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~dhis2-devs
>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~dhis2-devs
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~dhis2-devs
> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dhis2-devs
> More help   : https://help.launchpad.net/ListHelp
>
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~dhis2-devs
> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dhis2-devs
> More help   : https://help.launchpad.net/ListHelp
>
>

Follow ups

References