我第一次调用基于SOAP的API,并且从文档中获得以下信息:



我正在使用Savon gem 拨打电话。给定上述信息,我将如何使用Ruby 1.9.3和Savon gem来验证API调用api_call

这就是我用来设置WSDL或client的东西。

client = Savon.client(wsdl: "https://api.five9.com/wsadmin/v2/AdminWebService?wsdl&[email protected]")

最佳答案

您需要在消息的SOAP header 中包括身份验证凭据。
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
)

由于缺少用户凭据,因此无法测试此示例,但是该示例通过了“ruby​​ -c”。

关于ruby - 如何用Ruby Savon编写SOAP Authentication header ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19284392/

10-12 02:50