如何设置savon默认超时值
我正在使用savon进行一些api调用,但由于我正在及时出错,需要很长时间才能响应。所以有任何方法可以更改超时的默认值。 我使用savon 0.7.9 ruby 1.8.7和rails -v 2.3.2。
Savon使用gem HTTPI作为传输层的接口。 因此,您需要更改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
在Savon 3中 ,操作如下:
client = Savon.new(wsdl_url) client.http.send_timeout = 300 client.http.receive_timeout = 300
在Savon 3中,您不能将这些作为选项传递给构造函数,但您可以提供自定义http适配器(以替换默认的Savon :: HTTPClient),如下所示:
client = Savon.new(wsdl_url, MyAdapter.new)