我正在使用savon与soap web服务进行通信。 一切运行良好,我现在需要将ruby代码投入生产,我们必须通过代理服务器。 此代理服务器需要身份验证
所以我的问题是,如何使用savon指定代理服务器身份验证详细信息?
进一步的信息:
我发现您可以指定代理服务器:
client = Savon::Client.new do
...
http.proxy = "http://proxy.example.com"
end
查看savon的代码,我发现客户端块中的http变量引用了以下内容:
def http
@http ||= HTTPI::Request.new
end
不幸的是,通过HTTPI :: Request的代码,我看不到为代理本身指定身份验证的方法。以下是httpi请求的代码:https://github.com/rubiii/httpi/blob/master/lib/httpi/request.rb
请注意:我不是在尝试进行HTTP身份验证,而是在尝试执行代理身份验证。
指定代理服务器时,我收到以下错误,因为我找不到指定代理身份验证凭据的方法:
407“需要代理身份验证”
提前感谢您的帮助。
答案 0 :(得分:3)
试试这个: http.proxy =“http:// username:password @ host:port”
答案 1 :(得分:1)
Managed to resolve it with the following code:
@proxy_path = '<insert your proxy url here>'
@wsdl_path = '<insert your wsdl url here>'
@client = Savon.client do |variable|
variable.proxy @proxy_path
variable.wsdl @wsdl_path
end
@client.operations #to list operations