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.
我有一个 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.