title: Spring RestTemplate with Jackson as HttpMessageConverter and joda DateTime property fails to deserialize
body: <p>The scenario is as follows. I have an ObjectMapper (Jackson 2) that registers a JodaModule, capable of serializing and de-serializing Joda DateTime type. This ObjectMapper is tested with custom JSON strings and works as expected.</p>
  
  <pre><code>ObjectMapper objectMapper = new ObjectMapper();
  objectMapper.registerModule(new JodaModule());
  objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
  objectMapper.setTimeZone(TimeZone.getTimeZone("GMT+1:00"));
  objectMapper.setDateFormat(new ISO8601DateFormat());
  objectMapper.enable(SerializationFeature.INDENT_OUTPUT);
  objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
  return objectMapper;
  </code></pre>
  
  <p>I have an RestTemplateFactory which is responsible for instantiating a RestTemplate, and it sets the previously configured ObjectMapper bean to the RestTemplate.</p>
  
  <pre><code>@Configuration
  public class RestTemplateFactory {
  
    @Autowired
    private ObjectMapper objectMapper;
  
    @Bean
    public RestTemplate createRestTemplate() {
      RestTemplate restTemplate = new RestTemplate();
      List&lt;HttpMessageConverter&lt;?&gt;&gt; messageConverters = new ArrayList&lt;&gt;();
      MappingJackson2HttpMessageConverter jsonMessageConverter = new MappingJackson2HttpMessageConverter();
      jsonMessageConverter.setObjectMapper(objectMapper);
      messageConverters.add(jsonMessageConverter);
      // restTemplate.setMessageConverters(messageConverters); // This line was missing, but needs to be here. See answer.
      return restTemplate;
    }
  }
  </code></pre>
  
  <p>Now when I contact the webservice it fails to de-serialize the DateTime object with the following error message:</p>
  
  <pre><code>org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON: Can not instantiate value of type [simple type, class org.joda.time.DateTime] from String value; no single-String constructor/factory method
  </code></pre>
  
  <p>Also the DateTimeDeserializer.class is never called. Anyone has an idea what I am missing here?</p>