问题
项目从tomcat迁移到weblogic11G,在tomcat下,postman测试一切正常,在weblogic下postman测试,总是返回Could not get any response,可是用浏览器访问weblogic下的接口可以正常返回。
分析
在weblogic下用浏览器访问weblogic下的接口返回如下,相信很多老司机,通过下面的图,已经可以定位问题了。
结论
Content-Length和Transfer-Encoding,根据http1.1的规范,这两个最好不要同时出现,由于chrome兼容这种情况,所以用浏览器测试,接口可以正常返回。
postman不兼容这种情况,我们需要处理这种情况,我选择的方案时,在源码中修改fastjson中的配置,关掉Content-Length的计算,
如下图,问题完美解决。
吐槽
在tomcat下,一切正常的原因是,如果有Content-Length这个KEY, Transfer-Encoding 这个将会过滤掉,他们不会同时出现。
weblogic没有优化这块,给了我一次成长的机会,谢谢!!!