org.codehaus.jackson.map.JsonMappingException: No serializer found for class org.springframework.format.support.DefaultFormattingConversionService and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: org.springframework.validation.support.BindingAwareModelMap["org.springframework.validation.BindingResult.testBean"]->org.springframework.validation.BeanPropertyBindingResult["propertyAccessor"]->org.springframework.beans.BeanWrapperImpl["conversionService"])

Spring JIRA | Tim Schmelter | 6 years ago
tip
Your exception is missing from the Samebug knowledge base.
Here are the best solutions we found on the Internet.
Click on the to mark the helpful solution and get rewards for you help.
  1. 0

    I'm not sure whether this is a misconfiguration on my part, a misunderstanding of what can be accomplished via {{@ModelAttribute}} and automatic JSON content conversion, or a bug in either Spring or Jackson. If it turns out to be Jackson, of course, I'll file an issue with the appropriate folks. I've encountered a problem with adding a {{@ModelAttribute}} to a controller's handler method. The intent of the method is to expose a bean that's been populated from a form or previous submission, but I can reproduce the issue without actually submitting data into the bean via a web interaction. To get the simplest possible environment in which to reproduce, I'm using the Spring mvc-showcase sample. It's currently using Spring 3.1, but I first encountered, and am able to reproduce, this issue on my project's 3.0.5 setup. As you're probably aware, the mvc-showcase sample uses a pretty standard servlet-context.xml: {code:title=servlet-context.xml} <?xml version="1.0" encoding="UTF-8"?> <beans:beans xmlns="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans" xsi:schemaLocation=" http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"> <!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure --> <!-- Enables the Spring MVC @Controller programming model --> <annotation-driven conversion-service="conversionService"> <argument-resolvers> <beans:bean class="org.springframework.samples.mvc.data.custom.CustomArgumentResolver"/> </argument-resolvers> </annotation-driven> <!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources/ directory --> <resources mapping="/resources/**" location="/resources/" /> <!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory --> <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <beans:property name="prefix" value="/WEB-INF/views/" /> <beans:property name="suffix" value=".jsp" /> </beans:bean> <!-- Imports user-defined @Controller beans that process client requests --> <beans:import resource="controllers.xml" /> <!-- Only needed because we install custom converters to support the examples in the org.springframewok.samples.mvc.convert package --> <beans:bean id="conversionService" class="org.springframework.samples.mvc.convert.CustomConversionServiceFactoryBean" /> <!-- Only needed because we require fileupload in the org.springframework.samples.mvc.fileupload package --> <beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" /> </beans:beans> {code} ---- The default {{controllers.xml}} referenced in the file simply sets up the relevant component-scan and view-controller for the root path. The relevant snippet is below. {code:title=controllers.xml} <!-- Maps '/' requests to the 'home' view --> <mvc:view-controller path="/" view-name="home"/> <context:component-scan base-package="org.springframework.samples.mvc" /> {code} ---- The test bean which I am attempting to deliver is a dead-simple POJO. {code:title=TestBean.java} package org.springframework.samples.mvc.test; public class TestBean { private String testField = "test@example.com"; public String getTestField() { return testField; } public void setTestField(String testField) { this.testField = testField; } } {code} ---- And finally, the controller, which is also simple. {code:title=TestController.java} package org.springframework.samples.mvc.test; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; @Controller @RequestMapping("test/*") public class TestController { @ModelAttribute("testBean") public TestBean getTestBean() { return new TestBean(); } @RequestMapping(value = "beanOnly", method = RequestMethod.POST) public @ResponseBody TestBean testBean(@ModelAttribute("testBean") TestBean bean) { return bean; } @RequestMapping(value = "withoutModel", method = RequestMethod.POST) public @ResponseBody Model testWithoutModel(Model model) { model.addAttribute("result", "success"); return model; } @RequestMapping(value = "withModel", method = RequestMethod.POST) public @ResponseBody Model testWithModel(Model model, @ModelAttribute("testBean") TestBean bean) { bean.setTestField("This is the new value of testField"); model.addAttribute("result", "success"); return model; } } {code} ---- If I call the controller via the mapped path {{/mvc-showcase/test/beanOnly}}, I get a JSON representation of the bean, as expected. Calling the {{withoutModel}} handler delivers a JSON representation of the Spring {{Model}} object associated with the call. It includes the implicit {{@ModelAttribute}} from the initial declaration in the return value, but the bean is unavailable to the method. If I wish to process the results of a form submission, for example, and return a JSON response message, then I need that attribute. The last method adds the {{@ModelAttribute}}, and this is where the trouble comes up. Calling {{/mvc-showcase/test/withModel}} causes an exception. In my 3.0.5 installation, I get a JsonMappingException caused by a lack of serializer for FormattingConversionService. In the 3.1.0 sample, the exception is caused by lack of serializer for DefaultConversionService. I'll include the 3.1 exception here; it seems to have the same root cause, even if the path is a bit different. {code:title=3.1 org.codehaus.jackson.map.JsonMappingException} org.codehaus.jackson.map.JsonMappingException: No serializer found for class org.springframework.format.support.DefaultFormattingConversionService and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: org.springframework.validation.support.BindingAwareModelMap["org.springframework.validation.BindingResult.testBean"]->org.springframework.validation.BeanPropertyBindingResult["propertyAccessor"]->org.springframework.beans.BeanWrapperImpl["conversionService"]) at org.codehaus.jackson.map.ser.StdSerializerProvider$1.failForEmpty(StdSerializerProvider.java:89) at org.codehaus.jackson.map.ser.StdSerializerProvider$1.serialize(StdSerializerProvider.java:62) at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:272) at org.codehaus.jackson.map.ser.BeanSerializer.serializeFields(BeanSerializer.java:175) at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:147) at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:272) at org.codehaus.jackson.map.ser.BeanSerializer.serializeFields(BeanSerializer.java:175) at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:147) at org.codehaus.jackson.map.ser.MapSerializer.serializeFields(MapSerializer.java:207) at org.codehaus.jackson.map.ser.MapSerializer.serialize(MapSerializer.java:140) at org.codehaus.jackson.map.ser.MapSerializer.serialize(MapSerializer.java:22) at org.codehaus.jackson.map.ser.StdSerializerProvider._serializeValue(StdSerializerProvider.java:315) at org.codehaus.jackson.map.ser.StdSerializerProvider.serializeValue(StdSerializerProvider.java:242) at org.codehaus.jackson.map.ObjectMapper.writeValue(ObjectMapper.java:1030) at org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.writeInternal(MappingJacksonHttpMessageConverter.java:153) at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:181) at org.springframework.web.servlet.mvc.method.annotation.support.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:121) at org.springframework.web.servlet.mvc.method.annotation.support.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:101) at org.springframework.web.servlet.mvc.method.annotation.support.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:81) at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:64) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMethodAdapter.invokeHandlerMethod(RequestMappingHandlerMethodAdapter.java:505) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMethodAdapter.handleInternal(RequestMappingHandlerMethodAdapter.java:468) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at ... {code} So, is there some configuration I am missing that should allow the Jackson converter to properly handle a response derived from a handler with {{@ModelAttribute}} in the method signature?

    Spring JIRA | 6 years ago | Tim Schmelter
    org.codehaus.jackson.map.JsonMappingException: No serializer found for class org.springframework.format.support.DefaultFormattingConversionService and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: org.springframework.validation.support.BindingAwareModelMap["org.springframework.validation.BindingResult.testBean"]->org.springframework.validation.BeanPropertyBindingResult["propertyAccessor"]->org.springframework.beans.BeanWrapperImpl["conversionService"])
  2. 0

    I'm not sure whether this is a misconfiguration on my part, a misunderstanding of what can be accomplished via {{@ModelAttribute}} and automatic JSON content conversion, or a bug in either Spring or Jackson. If it turns out to be Jackson, of course, I'll file an issue with the appropriate folks. I've encountered a problem with adding a {{@ModelAttribute}} to a controller's handler method. The intent of the method is to expose a bean that's been populated from a form or previous submission, but I can reproduce the issue without actually submitting data into the bean via a web interaction. To get the simplest possible environment in which to reproduce, I'm using the Spring mvc-showcase sample. It's currently using Spring 3.1, but I first encountered, and am able to reproduce, this issue on my project's 3.0.5 setup. As you're probably aware, the mvc-showcase sample uses a pretty standard servlet-context.xml: {code:title=servlet-context.xml} <?xml version="1.0" encoding="UTF-8"?> <beans:beans xmlns="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans" xsi:schemaLocation=" http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"> <!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure --> <!-- Enables the Spring MVC @Controller programming model --> <annotation-driven conversion-service="conversionService"> <argument-resolvers> <beans:bean class="org.springframework.samples.mvc.data.custom.CustomArgumentResolver"/> </argument-resolvers> </annotation-driven> <!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources/ directory --> <resources mapping="/resources/**" location="/resources/" /> <!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory --> <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <beans:property name="prefix" value="/WEB-INF/views/" /> <beans:property name="suffix" value=".jsp" /> </beans:bean> <!-- Imports user-defined @Controller beans that process client requests --> <beans:import resource="controllers.xml" /> <!-- Only needed because we install custom converters to support the examples in the org.springframewok.samples.mvc.convert package --> <beans:bean id="conversionService" class="org.springframework.samples.mvc.convert.CustomConversionServiceFactoryBean" /> <!-- Only needed because we require fileupload in the org.springframework.samples.mvc.fileupload package --> <beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" /> </beans:beans> {code} ---- The default {{controllers.xml}} referenced in the file simply sets up the relevant component-scan and view-controller for the root path. The relevant snippet is below. {code:title=controllers.xml} <!-- Maps '/' requests to the 'home' view --> <mvc:view-controller path="/" view-name="home"/> <context:component-scan base-package="org.springframework.samples.mvc" /> {code} ---- The test bean which I am attempting to deliver is a dead-simple POJO. {code:title=TestBean.java} package org.springframework.samples.mvc.test; public class TestBean { private String testField = "test@example.com"; public String getTestField() { return testField; } public void setTestField(String testField) { this.testField = testField; } } {code} ---- And finally, the controller, which is also simple. {code:title=TestController.java} package org.springframework.samples.mvc.test; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; @Controller @RequestMapping("test/*") public class TestController { @ModelAttribute("testBean") public TestBean getTestBean() { return new TestBean(); } @RequestMapping(value = "beanOnly", method = RequestMethod.POST) public @ResponseBody TestBean testBean(@ModelAttribute("testBean") TestBean bean) { return bean; } @RequestMapping(value = "withoutModel", method = RequestMethod.POST) public @ResponseBody Model testWithoutModel(Model model) { model.addAttribute("result", "success"); return model; } @RequestMapping(value = "withModel", method = RequestMethod.POST) public @ResponseBody Model testWithModel(Model model, @ModelAttribute("testBean") TestBean bean) { bean.setTestField("This is the new value of testField"); model.addAttribute("result", "success"); return model; } } {code} ---- If I call the controller via the mapped path {{/mvc-showcase/test/beanOnly}}, I get a JSON representation of the bean, as expected. Calling the {{withoutModel}} handler delivers a JSON representation of the Spring {{Model}} object associated with the call. It includes the implicit {{@ModelAttribute}} from the initial declaration in the return value, but the bean is unavailable to the method. If I wish to process the results of a form submission, for example, and return a JSON response message, then I need that attribute. The last method adds the {{@ModelAttribute}}, and this is where the trouble comes up. Calling {{/mvc-showcase/test/withModel}} causes an exception. In my 3.0.5 installation, I get a JsonMappingException caused by a lack of serializer for FormattingConversionService. In the 3.1.0 sample, the exception is caused by lack of serializer for DefaultConversionService. I'll include the 3.1 exception here; it seems to have the same root cause, even if the path is a bit different. {code:title=3.1 org.codehaus.jackson.map.JsonMappingException} org.codehaus.jackson.map.JsonMappingException: No serializer found for class org.springframework.format.support.DefaultFormattingConversionService and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: org.springframework.validation.support.BindingAwareModelMap["org.springframework.validation.BindingResult.testBean"]->org.springframework.validation.BeanPropertyBindingResult["propertyAccessor"]->org.springframework.beans.BeanWrapperImpl["conversionService"]) at org.codehaus.jackson.map.ser.StdSerializerProvider$1.failForEmpty(StdSerializerProvider.java:89) at org.codehaus.jackson.map.ser.StdSerializerProvider$1.serialize(StdSerializerProvider.java:62) at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:272) at org.codehaus.jackson.map.ser.BeanSerializer.serializeFields(BeanSerializer.java:175) at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:147) at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:272) at org.codehaus.jackson.map.ser.BeanSerializer.serializeFields(BeanSerializer.java:175) at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:147) at org.codehaus.jackson.map.ser.MapSerializer.serializeFields(MapSerializer.java:207) at org.codehaus.jackson.map.ser.MapSerializer.serialize(MapSerializer.java:140) at org.codehaus.jackson.map.ser.MapSerializer.serialize(MapSerializer.java:22) at org.codehaus.jackson.map.ser.StdSerializerProvider._serializeValue(StdSerializerProvider.java:315) at org.codehaus.jackson.map.ser.StdSerializerProvider.serializeValue(StdSerializerProvider.java:242) at org.codehaus.jackson.map.ObjectMapper.writeValue(ObjectMapper.java:1030) at org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.writeInternal(MappingJacksonHttpMessageConverter.java:153) at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:181) at org.springframework.web.servlet.mvc.method.annotation.support.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:121) at org.springframework.web.servlet.mvc.method.annotation.support.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:101) at org.springframework.web.servlet.mvc.method.annotation.support.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:81) at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:64) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMethodAdapter.invokeHandlerMethod(RequestMappingHandlerMethodAdapter.java:505) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMethodAdapter.handleInternal(RequestMappingHandlerMethodAdapter.java:468) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at ... {code} So, is there some configuration I am missing that should allow the Jackson converter to properly handle a response derived from a handler with {{@ModelAttribute}} in the method signature?

    Spring JIRA | 6 years ago | Tim Schmelter
    org.codehaus.jackson.map.JsonMappingException: No serializer found for class org.springframework.format.support.DefaultFormattingConversionService and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: org.springframework.validation.support.BindingAwareModelMap["org.springframework.validation.BindingResult.testBean"]->org.springframework.validation.BeanPropertyBindingResult["propertyAccessor"]->org.springframework.beans.BeanWrapperImpl["conversionService"])
  3. 0

    Spring 3.0.5 - Adding @ModelAttribute to handler method signature results in JsonMappingException

    Stack Overflow | 6 years ago | Palpatim
    org.codehaus.jackson.map.JsonMappingException: No serializer found for class org.springframework.format.support.DefaultFormattingConversionService and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: org.springframework.validation.support.BindingAwareModelMap["org.springframework.validation.BindingResult.testBean"]-&gt;org.springframework.validation.BeanPropertyBindingResult["propertyAccessor"]-&gt;org.springframework.beans.BeanWrapperImpl["conversionService"])
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    Solution for JsonMappingException: lazily initialize a collection without using @Jsonignore

    Stack Overflow | 2 years ago | Romeo
    org.codehaus.jackson.map.JsonMappingException: failed to lazily initialize a collection of role: com.sublime.np.entity.User.roles, could not initialize proxy - no Session (through reference chain: java.util.ArrayList[0]->com.sublime.np.entity.Question["user"]->com.sublime.np.entity.User["roles"])
  6. 0

    Problems with circular referencing using spring jackson json mapper - Spring Forum

    spring.io | 1 year ago
    org.codehaus.jackson.map.JsonMappingException: Direct self-reference leading to cycle (through reference chain: java.util.ArrayList[0]->lnt.domainObjects.Employee["reportingTo"])

    16 unregistered visitors
    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. org.codehaus.jackson.map.JsonMappingException

      No serializer found for class org.springframework.format.support.DefaultFormattingConversionService and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: org.springframework.validation.support.BindingAwareModelMap["org.springframework.validation.BindingResult.testBean"]->org.springframework.validation.BeanPropertyBindingResult["propertyAccessor"]->org.springframework.beans.BeanWrapperImpl["conversionService"])

      at org.codehaus.jackson.map.ser.StdSerializerProvider$1.failForEmpty()
    2. Data Mapper for Jackson
      ObjectMapper.writeValue
      1. org.codehaus.jackson.map.ser.StdSerializerProvider$1.failForEmpty(StdSerializerProvider.java:89)
      2. org.codehaus.jackson.map.ser.StdSerializerProvider$1.serialize(StdSerializerProvider.java:62)
      3. org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:272)
      4. org.codehaus.jackson.map.ser.BeanSerializer.serializeFields(BeanSerializer.java:175)
      5. org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:147)
      6. org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:272)
      7. org.codehaus.jackson.map.ser.BeanSerializer.serializeFields(BeanSerializer.java:175)
      8. org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:147)
      9. org.codehaus.jackson.map.ser.MapSerializer.serializeFields(MapSerializer.java:207)
      10. org.codehaus.jackson.map.ser.MapSerializer.serialize(MapSerializer.java:140)
      11. org.codehaus.jackson.map.ser.MapSerializer.serialize(MapSerializer.java:22)
      12. org.codehaus.jackson.map.ser.StdSerializerProvider._serializeValue(StdSerializerProvider.java:315)
      13. org.codehaus.jackson.map.ser.StdSerializerProvider.serializeValue(StdSerializerProvider.java:242)
      14. org.codehaus.jackson.map.ObjectMapper.writeValue(ObjectMapper.java:1030)
      14 frames
    3. Spring
      AbstractHttpMessageConverter.write
      1. org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.writeInternal(MappingJacksonHttpMessageConverter.java:153)
      2. org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:181)
      2 frames
    4. org.springframework.web
      RequestResponseBodyMethodProcessor.handleReturnValue
      1. org.springframework.web.servlet.mvc.method.annotation.support.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:121)
      2. org.springframework.web.servlet.mvc.method.annotation.support.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:101)
      3. org.springframework.web.servlet.mvc.method.annotation.support.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:81)
      3 frames
    5. Spring
      HandlerMethodReturnValueHandlerComposite.handleReturnValue
      1. org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:64)
      1 frame
    6. Spring MVC
      FrameworkServlet.doPost
      1. org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)
      2. org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMethodAdapter.invokeHandlerMethod(RequestMappingHandlerMethodAdapter.java:505)
      3. org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMethodAdapter.handleInternal(RequestMappingHandlerMethodAdapter.java:468)
      4. org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
      5. org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
      6. org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
      7. org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
      8. org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
      8 frames
    7. JavaServlet
      HttpServlet.service
      1. javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
      2. javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      2 frames