[英]Spring Rest template - 204 content in response from webservice
我有一个休息服务,并且使用Spring的RestTemplate和Apache HttpClient来使用,
@Autowired
public ClientImpl(@Value("${base-uri}") final String baseUrl,
@Qualifier("restOperations") RestOperations restTemplate) {
serviceUrl = baseUrl;
restTemplate = restTemplate;
}
private List<ResponseDetails> processRequest(CustomRequest request) throws Exception {
ResponseEntity<ResponseDetails[]> responseEntity = restTemplate.exchange(serviceUrl, HttpMethod.POST, entity, ResponseDetails[].class);
if (responseEntity.getStatusCode().value() == 204) {
return Collections.<ResponseDetails>emptyList();
}
ResponseDetails[] response = responseEntity.getBody();
return response != null ? Lists.newArrayList(response) : Collections.<ResponseDetails>emptyList();
}
当Web服务返回204响应时,则204响应之后的第二个服务调用会因读取超时而失败。
春季网:4.3.5
我不知道原因。 有什么帮助吗?
编辑:从调试日志,
org.apache.http.impl.conn.DefaultHttpResponseParser;响应中的垃圾:ÿþ{“ id”:0} HTTP / 1.1 204找不到
httpclient在服务器日志中的响应:
<204没有内容,{Cache-Control = [no-cache],Pragma = [no-cache],Content-Type = [application / json; charset = utf-16],Expires = [-1],Server = [some],X-AspNet-Version = [someversion],X-Powered-By = [ASP.NET],Date = [somedate]}>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.