ThomasBecker
Feb 28th, 2011, 09:38 AM
Hi all,
I'm using grails to feed some android clients using json format. I do some custom marshalling with "JSON.registerObjectMarshaller(SomeObject)" and all seems to work fine. Besides the fact that I'm getting the following exception for each request with Accept header set to text/json or application/json:
converters.JSONParsingParameterCreationListener Error parsing incoming JSON request: Error parsing JSON
org.codehaus.groovy.grails.web.converters.exceptio ns.ConverterException: Error parsing JSON
at grails.converters.JSON.parse(JSON.java:289)
at grails.converters.JSON.parse(JSON.java:311)
at grails.converters.JSON.parse(JSON.java:334)
at grails.converters.JSON$parse.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray .defaultCall(CallSiteArray.java:40)
at org.codehaus.groovy.runtime.callsite.AbstractCallS ite.call(AbstractCallSite.java:116)
at org.codehaus.groovy.runtime.callsite.AbstractCallS ite.call(AbstractCallSite.java:124)
at org.codehaus.groovy.grails.web.converters.JSONPars ingParameterCreationListener.paramsCreated(JSONPar singParameterCreationListener.groovy:42)
at org.codehaus.groovy.grails.web.servlet.mvc.GrailsW ebRequest.informParameterCreationListeners(GrailsW ebRequest.java:171)
at org.codehaus.groovy.grails.web.mapping.filter.UrlM appingsFilter.doFilterInternal(UrlMappingsFilter.j ava:181)
at org.springframework.web.filter.OncePerRequestFilte r.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
at org.codehaus.groovy.grails.web.sitemesh.GrailsPage Filter.obtainContent(GrailsPageFilter.java:245)
at org.codehaus.groovy.grails.web.sitemesh.GrailsPage Filter.doFilter(GrailsPageFilter.java:134)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
at org.codehaus.groovy.grails.web.servlet.filter.Grai lsReloadServletFilter.doFilterInternal(GrailsReloa dServletFilter.java:104)
at org.springframework.web.filter.OncePerRequestFilte r.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
at org.codehaus.groovy.grails.web.servlet.mvc.GrailsW ebRequestFilter.doFilterInternal(GrailsWebRequestF ilter.java:69)
at org.springframework.web.filter.OncePerRequestFilte r.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
at org.codehaus.groovy.grails.web.filters.HiddenHttpM ethodFilter.doFilterInternal(HiddenHttpMethodFilte r.java:69)
at org.springframework.web.filter.OncePerRequestFilte r.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFi lter.doFilterInternal(CharacterEncodingFilter.java :88)
at org.springframework.web.filter.OncePerRequestFilte r.doFilter(OncePerRequestFilter.java:76)
at org.springframework.web.filter.DelegatingFilterPro xy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterPro xy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run( JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:680)
Caused by: org.codehaus.groovy.grails.web.json.JSONException: Missing value. at character 0 of
at org.codehaus.groovy.grails.web.json.JSONTokener.sy ntaxError(JSONTokener.java:473)
at org.codehaus.groovy.grails.web.json.JSONTokener.ne xtValue(JSONTokener.java:358)
at grails.converters.JSON.parse(JSON.java:280)
... 44 more
It doesn't seem to cause any (obvious) harm, but I really don't want to have this in production server logs. I googled and found lots of people having the same exception without any harm. However nobody seems to have a solution which helped me.
I tried several things like getting rid of my custom marshallers, changing some objects, etc. ... no joy.
Any hint where to look at would be appreciated.
Thanks a lot!
Thomas
I'm using grails to feed some android clients using json format. I do some custom marshalling with "JSON.registerObjectMarshaller(SomeObject)" and all seems to work fine. Besides the fact that I'm getting the following exception for each request with Accept header set to text/json or application/json:
converters.JSONParsingParameterCreationListener Error parsing incoming JSON request: Error parsing JSON
org.codehaus.groovy.grails.web.converters.exceptio ns.ConverterException: Error parsing JSON
at grails.converters.JSON.parse(JSON.java:289)
at grails.converters.JSON.parse(JSON.java:311)
at grails.converters.JSON.parse(JSON.java:334)
at grails.converters.JSON$parse.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray .defaultCall(CallSiteArray.java:40)
at org.codehaus.groovy.runtime.callsite.AbstractCallS ite.call(AbstractCallSite.java:116)
at org.codehaus.groovy.runtime.callsite.AbstractCallS ite.call(AbstractCallSite.java:124)
at org.codehaus.groovy.grails.web.converters.JSONPars ingParameterCreationListener.paramsCreated(JSONPar singParameterCreationListener.groovy:42)
at org.codehaus.groovy.grails.web.servlet.mvc.GrailsW ebRequest.informParameterCreationListeners(GrailsW ebRequest.java:171)
at org.codehaus.groovy.grails.web.mapping.filter.UrlM appingsFilter.doFilterInternal(UrlMappingsFilter.j ava:181)
at org.springframework.web.filter.OncePerRequestFilte r.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
at org.codehaus.groovy.grails.web.sitemesh.GrailsPage Filter.obtainContent(GrailsPageFilter.java:245)
at org.codehaus.groovy.grails.web.sitemesh.GrailsPage Filter.doFilter(GrailsPageFilter.java:134)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
at org.codehaus.groovy.grails.web.servlet.filter.Grai lsReloadServletFilter.doFilterInternal(GrailsReloa dServletFilter.java:104)
at org.springframework.web.filter.OncePerRequestFilte r.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
at org.codehaus.groovy.grails.web.servlet.mvc.GrailsW ebRequestFilter.doFilterInternal(GrailsWebRequestF ilter.java:69)
at org.springframework.web.filter.OncePerRequestFilte r.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
at org.codehaus.groovy.grails.web.filters.HiddenHttpM ethodFilter.doFilterInternal(HiddenHttpMethodFilte r.java:69)
at org.springframework.web.filter.OncePerRequestFilte r.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFi lter.doFilterInternal(CharacterEncodingFilter.java :88)
at org.springframework.web.filter.OncePerRequestFilte r.doFilter(OncePerRequestFilter.java:76)
at org.springframework.web.filter.DelegatingFilterPro xy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterPro xy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run( JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:680)
Caused by: org.codehaus.groovy.grails.web.json.JSONException: Missing value. at character 0 of
at org.codehaus.groovy.grails.web.json.JSONTokener.sy ntaxError(JSONTokener.java:473)
at org.codehaus.groovy.grails.web.json.JSONTokener.ne xtValue(JSONTokener.java:358)
at grails.converters.JSON.parse(JSON.java:280)
... 44 more
It doesn't seem to cause any (obvious) harm, but I really don't want to have this in production server logs. I googled and found lots of people having the same exception without any harm. However nobody seems to have a solution which helped me.
I tried several things like getting rid of my custom marshallers, changing some objects, etc. ... no joy.
Any hint where to look at would be appreciated.
Thanks a lot!
Thomas