- Cannot deserialize instance of object out of START_ARRAY token in Spring 3 REST Webservice
- Caused by: org.springframework.web.client.ResourceAccessException: I/O error: Can not deserialize instance of MyObject out of START_ARRAY token
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at [Source: org.apache.http.conn.EofSensorInputStream@4076e940; line: 1, column: 1]; nested exception is org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of MyObject out of START_ARRAY token
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at [Source: org.apache.http.conn.EofSensorInputStream@4076e940; line: 1, column: 1]
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:466)
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:414)
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at org.springframework.web.client.RestTemplate.getForEntity(RestTemplate.java:234)
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at com.be.android.locateconsultants.resources.AsyncTaskRESTServiceCaller.doInBackground(AsyncTaskRESTServiceCaller.java:43)
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at com.be.android.locateconsultants.resources.AsyncTaskRESTServiceCaller.doInBackground(AsyncTaskRESTServiceCaller.java:1)
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at android.os.AsyncTask$2.call(AsyncTask.java:252)
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): ... 4 more
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): Caused by: org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of MyObject out of START_ARRAY token
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at [Source: org.apache.http.conn.EofSensorInputStream@4076e940; line: 1, column: 1]
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at org.codehaus.jackson.map.deser.StdDeserializationContext.mappingException(StdDeserializationContext.java:198)
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeUsingCreator(BeanDeserializer.java:565)
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:365)
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2395)
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1655)
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.readInternal(MappingJacksonHttpMessageConverter.java:135)
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at org.springframework.http.converter.AbstractHttpMessageConverter.read(AbstractHttpMessageConverter.java:154)
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:74)
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:632)
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:618)
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:459)
- [2012-05-23 14:58:16 - Emulator] E/AndroidRuntime( 431): ... 10 more
- final String url = ".....";
- RestTemplate restTemplate = new RestTemplate();
- ResponseEntity<Consultant> responseEntity = restTemplate.getForEntity(
- url, Consultant.class);
- HttpHeaders headers = new HttpHeaders();
- headers.setContentType(MediaType.APPLICATION_JSON);
- HttpEntity<String> entity = new HttpEntity<String>(headers);
- ResponseEntity<MyObject> response = restTemplate
- .exchange("....",HttpMethod.GET, entity, MyObject.class);
- System.out.println("RESPONSE: " + response.getBody());