[英]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.