使用Stamps.com API,Savon无法正常工作

时间:2017-06-30 22:28:04

标签: ruby-on-rails savon stamps.com

我正在使用savon对Stamps.com API进行SOAP调用。我可以成功进行初始通话。我也可以调用其中一个NameSpaces,但是它们需要传入“附加内容”(params)。

当我使用像client.call(:authenticate_user)这样的AuthenticateUser方法时,会出现以下错误:

(soap:Client) Invalid SOAP message due to XML Schema validation failure. The element 'AuthenticateUser' in namespace 'http://stamps.com/xml/namespace/2016/12/swsim/swsimv57' has incomplete content. List of possible elements expected: 'Credentials' in namespace 'http://stamps.com/xml/namespace/2016/12/swsim/swsimv57'.

我已尝试传入:credentials,但会返回此错误:

Unknown local option: :credentials

我错过了什么,或者Savon没有与Stamps.com API合作?

1 个答案:

答案 0 :(得分:0)

我知道这是一个老问题,但是我遇到了同样的情况,想留下一个答案,这样一来,那些迷迷糊糊的人就会找到答案。

要使SAVON正常工作,您必须进行两项更改:

  1. 哈希键必须是字符串而不是符号
  2. 您不需要使用像':'哈希这样的较新的javascript,而是需要使用旧的双箭头。
    hash = {
        'Key1' => 'Value1',
        'Key2' => 'Value2'
    }