Tomcat 7 , Spring rest 模板应用程序在浏览器中生成 err_invalid_chunked_encoding

Tomcat 7 , Spring rest template application producing err_invalid_chunked_encoding in browser

我有一个 Tomcat 7 , Spring 4.2 'RestController' REST API 的实现,它似乎对少数 API 产生 'ERR_INVALID_CHUNKED_ENCODING'调用返回 JSON 响应。

创建 ResponseEntity 的代码相同。但是对于少数 API 调用,"Content-Length" 设置正确,而其他调用 "Transfer-Encoding" 设置为分块。

private CacheControl cacheControl = CacheControl.noStore().mustRevalidate();    

protected <T> ResponseEntity<TNRestResponse<T>> createEntity(TNRestResponse<T> res) {
        return ResponseEntity.ok().cacheControl(cacheControl).body(res);
}

奇怪的是,创建 ERR_INVALID_CHUNKED_ENCODING 的同一个 API 调用的响应似乎在另一个环境中工作正常。唯一的区别是在有问题的情况下,客户端和服务 运行 在同一台服务器中。

已经尝试过的解决方案是手动设置 Content-Length,这似乎会导致文件过早结束 client.The JSON 长度仅为 468 个字符左右,但客户端仅接收409 个字符,即使服务器日志显示完整响应已发送且连接已关闭。

我们对这个问题的解决方案感到困惑,因为它是相同的代码在不同的 environment.I 中表现得很奇怪,试图检查 server.xml 中 tomcat.But 的压缩设置一切看起来都很好。

同时禁用了 IE 和 chrome 中的代理设置。

任何有用的意见或见解都会非常好?提前致谢。

按照以下步骤操作:

1) Go to your OS's Control panel > internet options > Connections > LAN Settings or to your browser settings.

2) Deselect "Use Proxy" for your LAN or for your browser.

ERR_INVALID_CHUNKED_ENCODING

Original answer

Another original answer