我正在使用savon进行一些api调用,但是由于我收到超时error.so,它花了很长时间才能响应,因此有任何方法可以更改timeout的默认值。我正在使用savon 0.7.9 ruby​​ 1.8.7和rails -v 2.3.2。

最佳答案

Savon使用gem HTTPI作为传输层的接口(interface)。因此,您需要更改http调用的超时。

这里是一个例子(Savon 1.x)

jira = Savon::Client.new do
    wsdl.document = 'http://jira.my-domain.com/rpc/soap/jirasoapservice-v2?wsdl'
end

jira.http.read_timeout = 300

编辑:Savon 2.x的语法已更改
jira = Savon.client(
    wsdl: 'http://jira.my-domain.com/rpc/soap/jirasoapservice-v2?wsdl',
    open_timeout: 300,
    read_timeout: 300,
    ssl_verify_mode: :none)
p jira.operations

关于ruby-on-rails - 如何设置savon默认超时值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6384230/

10-09 14:05