Java 改造服务返回500错误,但仅当OkHttp包含在项目中时?

Java 改造服务返回500错误,但仅当OkHttp包含在项目中时?,java,gradle,retrofit,okhttp,Java,Gradle,Retrofit,Okhttp,有一个Java1.8应用程序,可以调用几个json Web服务,一切正常 但是,在更改其中一项服务的缓存模型时,我正在执行更大的请求,因此需要延长超时值,我正在根据以下问题执行此操作: 因此,我创建了OkHttp客户端,将其设置在我的RestAdapter上,新的超时对于我正在更改的服务来说工作正常 然而。。。我的应用程序中另一个完全不相关的服务调用现在在调用该服务时抛出500个错误。如果我从build.gradle文件中删除OkHttp依赖项,该服务将再次完美运行——实际上没有任何代码发生更改

有一个Java1.8应用程序,可以调用几个json Web服务,一切正常

但是,在更改其中一项服务的缓存模型时,我正在执行更大的请求,因此需要延长超时值,我正在根据以下问题执行此操作:

因此,我创建了OkHttp客户端,将其设置在我的RestAdapter上,新的超时对于我正在更改的服务来说工作正常

然而。。。我的应用程序中另一个完全不相关的服务调用现在在调用该服务时抛出500个错误。如果我从build.gradle文件中删除OkHttp依赖项,该服务将再次完美运行——实际上没有任何代码发生更改,只有依赖项发生了更改,因此我假设这是改装和OkHttp之间的冲突(尽管它们都是由相同的人构建的)

有什么想法吗?或者是否有一个替代的客户端可以代替OkHttp来回避这个问题


如果有区别的话,我正在使用改型1.9.0和OkHttp 2.7.0(但我尝试了几个不同的OkHttp版本)。

在添加依赖项之前/之后区分原始http请求。它是响应500的服务器还是内部遇到问题什么代码在处理这些无关的请求?还有改装吗?这可能会自动检测OKHttp的存在,并使用可用的最佳http实现。也许您需要将其配置为默认使用旧的http实现,或者更改在其他http实现中意外工作的内容。谢谢,所有好主意。我认为您关于改造的看法是正确的,但我相信默认实现是使用OkHttp,但不确定。原始https请求前后看起来完全相同,但我将尝试对请求进行更深入的挖掘。我还将看看是否有办法使其默认返回到以前的客户端!如果显式地将改造配置为使用OkHttp,则还可以配置OkHttp的日志侦听器。我猜OkHttp正在启用Web服务器无法处理的某些功能。可能是gzip?你可以通过添加一个标题来解决这个问题,比如
Content Encoding:identity
。这是一件奇怪的事情-显式配置改型以使用OkHttp仍然会导致坏服务中断,所以我认为你是对的-肯定OK使用的某些功能与坏服务不兼容。因此,执行此操作:RestAdapter.Builder().setClient(new UrlConnectionClient())通过覆盖OkClient(如果它位于类路径中)的默认用法,使其再次工作。现在的主要问题是我是否足够关心调试并找出OkHttp实际破坏它的原因。:)