Lui*_*igi 3 ruby api soap savon
我是第一次调用基于SOAP的API,我从文档中获得以下信息:
在您的客户端中,构建您的授权标头,如下所示:
1连接用户名和密码,例如:ExampleUsername:ExamplePassword
2在base 64中编码字符串,例如:RXhhbXBsZVVzZXJOYW1lOVV4YW1wbGVQYXNzd29yZA ==
3在代码中,输入值为Basic的Authorization标头.
示例Web服务标头,带有编码的用户名和密码
POST https://api.five9.com/wsadmin/AdminWebService HTTP/1.1
Accept-Encoding:gzip,deflate
Content-Type:text/xml; charset = UTF-8
SOAPAction:""
授权:基本RXhhbXBsZVVzZXJOYW110kV4YW1wbGVQYXNzd29yZA ==
我正在使用Savon宝石来打电话.在api_call给定上述信息的情况下,如何使用Ruby 1.9.3和Savon gem验证API调用?
这就是我用来设置WSDL的方法,或者client.
client = Savon.client(wsdl: "https://api.five9.com/wsadmin/v2/AdminWebService?wsdl&user=luigi@apitest.com")
Run Code Online (Sandbox Code Playgroud)
您需要在邮件的SOAP标头中包含身份验证凭据.Savon为它提供了:soap_header符号.
您的示例可能如下所示:
require 'savon'
require 'securerandom'
realm = Base64.strict_encode64("ExampleUsername:ExamplePassword")
client = Savon.client(
wsdl: "https://api.five9.com/wsadmin/v2/AdminWebService?wsdl",
soap_header: { 'Authorization:' => "Basic #{realm}"},
log: true,
log_level: debug,
pretty_print_xml: true
)
Run Code Online (Sandbox Code Playgroud)
我无法测试这个例子,因为我缺少用户凭据,但它传递了"ruby -c".
| 归档时间: |
|
| 查看次数: |
4639 次 |
| 最近记录: |