调用Webservice返回JsonMappingException

时间:2016-10-06 18:07:50

标签: java json web-services rest

我正在开发基于弹簧的应用程序。 以下是其余的webservice方法。

@RequestMapping(value = MyRequestMapping.GET_SIG_DATA, method = RequestMethod.GET)
@ResponseBody
public List<String> getSigDataValues(@PathVariable final String acc, final HttpServletResponse response)
            throws Exception {
        List<String> dataList = null;
        try {
             //logic goes here
        } catch (Exception e) {
             LOG.error("Exception" + e);
        }
        return dataList;
    }

上面的webservice没有返回任何responseDTO对象,它只返回一个String类型列表。

我想从另一个应用程序调用上面的webservice.Below是我的代码。

 public List<String> getSigData(String acc){

       try{
    list= (List<String>)restTemplate.postForObject(DataURL.GET_SIG_DATA.value(), MyRequestDTO.class,MyResponseDTO.class, acc);
        }
        catch (final RestClientException e)
        {
            LOG.info("RestClientException :" + e);
             String errorMsg = StringUtils.EMPTY;
            if (e instanceof HttpStatusCodeException)
            {
                errorMsg = ((HttpStatusCodeException) e).getResponseBodyAsString();
            }
            else
            {
                errorMsg = e.getMessage();
            }
            LOG.error("error message : : " + errorMsg);
          }
}

当我拨打上述网络服务电话时,它会给我以下异常消息:

 RestClientException : org.springframework.web.client.HttpServerErrorException: 500 Internal Server Error
 INFO  [STDOUT] error message : {"type":"JsonMappingException","message":"General error"}

请建议,当webservice调用将列表作为JSON对象返回时,我是否需要在客户端处理? 如何在getSigData(..)方法中调用上面提到的webservice。

0 个答案:

没有答案