我正在使用Savon库,后者又使用HTTPI,但 HTTPI 仅将HTTP状态代码200..299视为成功。不幸的是,我连接的SOAP服务器使用 HTTP 302 Found 将其客户端重定向到其他URL。有没有办法配置 HTTPI 来跟踪HTTP重定向?
答案 0 :(得分:2)
尝试使用' follow_redirect = true'在请求对象上。
request = HTTPI::Request.new
request.follow_redirect= true
...
我自己就是这个问题。
答案 1 :(得分:1)
阅读Wasabi代码我发现this line,调用this line,调用this line,所以我认为您可以通过残酷但有效的不断重新定义来解决:
HTTPI::Response::SuccessfulResponseCodes = HTTPI::Response::SuccessfulResponseCodes.to_a << 302
您可以放心地忽略常量重新定义警告(您可以使用Kernel.silence_warnings{ ... }
)。
无论如何,我建议你向httpi开一个问题;我认为这应该是预期的行为
答案 2 :(得分:0)
对于那些像我在谷歌搜索中那样来到这里的人。 Savon 2.11通过客户端上的全局配置值支持此功能:
ContextCompat.XXXX