我正在开发基于弹簧的应用程序。 以下是其余的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。