Bazı hata aramaları yapmak için savon kullanıyorum ama zaman aşımı hataları alıyorum çünkü bunun için uzun zaman alıyor.O zaman aşımı varsayılan değerini değiştirmek için herhangi bir yolu yoktur. Savon 0.7.9 ruby 1.8.7 ve raylar -v 2.3.2 kullanıyorum.savon varsayılan zaman aşımı değeri nasıl ayarlanır
9
A
cevap
22
Savon, taşma HTTPI'yi aktarım katmanına arabirim olarak kullanır. Bu nedenle, http aramaları için zaman aşımını değiştirmeniz gerekir. Burada
bir örnek (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
DÜZENLEME: sözdizimi Savon 2.x değişti
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
1
Savon 3olarak, aşağıdaki gibi bir işlemdir:
Savon 3'teclient = Savon.new(wsdl_url)
client.http.send_timeout = 300
client.http.receive_timeout = 300
, sen kurucusuna seçenekler olarak bunların içinde geçemez, aşağıdaki gibi fakat (varsayılan Savon :: HTTPClient yerine) özel bir http adaptörü sağlayabilmektedir:
client = Savon.new(wsdl_url, MyAdapter.new)
+1
Savon, işleri nasıl değiştirdiğini gerçekten seviyor ... Güncelleme için teşekkürler. –
sen işe yaramaz bloğunun içinde 'http.read_timeout = 300' koyarsanız. – pisaruk
Bu arada bunlar saniyedir. –