ruby-on-rails - rails - savon wsdl example
cómo establecer el valor de tiempo de espera predeterminado de savon (2)
Estoy usando Savon para hacer algunas llamadas a la API, pero tarda mucho tiempo en responder debido a que estoy recibiendo errores de tiempo de espera. Así que hay alguna forma de cambiar el valor predeterminado de tiempo de espera. Estoy usando savon 0.7.9 ruby 1.8.7 y rails -v 2.3.2.
En Savon 3 , la operación es la siguiente:
client = Savon.new(wsdl_url)
client.http.send_timeout = 300
client.http.receive_timeout = 300
En Savon 3, no puede pasar estos como opciones al constructor, pero puede suministrar un adaptador http personalizado (para reemplazar el Savon :: HTTPClient predeterminado) de la siguiente manera:
client = Savon.new(wsdl_url, MyAdapter.new)
Savon usa la gema HTTPI como interfaz para la capa de transporte. Por lo tanto, debe cambiar el tiempo de espera para las llamadas http.
aquí un ejemplo (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
EDITAR: la sintaxis ha cambiado para 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