From 5c9a10b8789b1b2b7305d123836a4ded7bf021f3 Mon Sep 17 00:00:00 2001 From: Paulo Gustavo Veiga Date: Thu, 13 Sep 2012 09:21:30 -0300 Subject: [PATCH] - Catch IO exceptions during JSON deserialization --- .../DebugMappingJacksonHttpMessageConverter.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/wise-webapp/src/main/java/com/wisemapping/rest/DebugMappingJacksonHttpMessageConverter.java b/wise-webapp/src/main/java/com/wisemapping/rest/DebugMappingJacksonHttpMessageConverter.java index 9b2d22b6..d3487ddf 100644 --- a/wise-webapp/src/main/java/com/wisemapping/rest/DebugMappingJacksonHttpMessageConverter.java +++ b/wise-webapp/src/main/java/com/wisemapping/rest/DebugMappingJacksonHttpMessageConverter.java @@ -13,18 +13,17 @@ import java.io.InputStream; public class DebugMappingJacksonHttpMessageConverter extends MappingJacksonHttpMessageConverter { @Override protected Object readInternal(Class clazz, HttpInputMessage inputMessage) throws IOException, JsonHttpMessageNotReadableException { - final byte[] bytes = IOUtils.toByteArray(inputMessage.getBody()); - final ByteArrayInputStream bais = new ByteArrayInputStream(bytes); - final WrapHttpInputMessage wrap = new WrapHttpInputMessage(bais, inputMessage.getHeaders()); - try { + final byte[] bytes = IOUtils.toByteArray(inputMessage.getBody()); + final ByteArrayInputStream bais = new ByteArrayInputStream(bytes); + final WrapHttpInputMessage wrap = new WrapHttpInputMessage(bais, inputMessage.getHeaders()); + return super.readInternal(clazz, wrap); } catch (org.springframework.http.converter.HttpMessageNotReadableException e) { - throw new JsonHttpMessageNotReadableException("Request Body:\n" + new String(bytes, "UTF-8"), e); - } - catch (IOException e) { - throw new JsonHttpMessageNotReadableException("Request Body:\n" + new String(bytes, "UTF-8"), e); + throw new JsonHttpMessageNotReadableException("Request Body could not be read", e); + } catch (IOException e) { + throw new JsonHttpMessageNotReadableException("Request Body could not be read", e); } } }