← Back to team overview

dhis2-devs team mailing list archive

Re: Wierd ClassCastException on WebAPI calls

 

Downloading IE8 from
http://www.modern.ie/en-us/virtualization-tools#downloads now

--
Morten


On Mon, Oct 14, 2013 at 4:50 PM, Saptarshi Purkayastha <sunbiz@xxxxxxxxx>wrote:

>  yea, its just /api/resources
> If you have access to one of the uio desktops and try the IE8 in that, you
> can replicate it as well
>
> ---
> Regards,
> Saptarshi PURKAYASTHA
> ------------------------------
> From: mortenoh@xxxxxxxxx
> Date: Mon, 14 Oct 2013 14:49:32 +0200
> To: lars@xxxxxxxxx
> CC: dhis2-devs@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [Dhis2-devs] 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
>
>
>
> _______________________________________________ Mailing list:
> https://launchpad.net/~dhis2-devs Post to : dhis2-devs@lists.launchpad.netUnsubscribe :
> https://launchpad.net/~dhis2-devs More help :
> https://help.launchpad.net/ListHelp
>

References