我有一个Rest服务,并且使用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响应之后的第二个服务调用将失败,并出现读取超时。
Spring网:4.3.5
我不知道原因。有什么帮助吗?
编辑:从调试日志,
org . Apache . http . impl . conn . defaulthttpresponseparser;垃圾回复:ÿþ{"id":0}HTTP/1.1 204找不到
httpclient在服务器日志中的响应:
HTTP 204是“无内容”的状态代码,但响应中似乎存在垃圾内容。这可以在您的日志上看到:
ÿþ{"id":0}
这就是你遇到问题的原因。
HTTP客户端不期望204响应的主体内容中有任何内容,所以不读取它,因此响应处理程序看不到任何垃圾。然而,由于存在尚未消耗的垃圾,连接将保持打开,直到它被读取-
有一个关于类似问题的单独线程,该问题是使用自定义HTTP请求执行器解决的。使用这样的执行器,您可以调用getBody()来获取垃圾响应主体,然后下一个请求将不会有任何问题。
我正在通过JMeter2.9进行websocket压力测试。当我用“轻”JSON发送请求和响应时。结果还可以。但是当响应json包含一个base64 png(大约360KB)时。jmeter返回代码204没有内容(可能超时)。 是我的jmeter在这里需要一些配置,还是其他问题。如果有人对此有所了解,请教我。 SampleResult字段:ContentType:DataEncoding:
Laravel sanctum让我有点头疼,因为我花了几个小时试图弄清楚为什么route不返回任何内容。最初未找到相同的路由返回404,但在添加 。我也运行了laravel的新安装,PHP工匠优化,清除了我的浏览器历史,检查了邮递员中的endpoint,但仍然相同的异常
我正在使用Fiddler监视对ServiceStack API的调用,并且在内容长度字段中看到一个逗号。我只有在部署到特定的Windows服务器时才会看到这一点。这是什么意思? 整个回应: 我认为内容长度字段中不允许使用逗号。
我有两项服务-和<代码>服务1通过SpringREST模板调用一些API。现在
问题内容: 我正在使用{%trans%}模板标签。Django文档说: {%trans%}模板标记可转换常量字符串(用单引号或双引号引起来)或可变内容: {%trans“这是标题。” %} {%trans myvar%} https://docs.djangoproject.com/zh-CN/1.3/topics/i18n/internationalization/#trans-template