传递Savon 2的数组元素(SOAP)

我正在尝试使用从SOAP api获取帐户信息的Savon gem(v2)在Ruby中编写代码,但是我遇到了传递数组的问题。

CampaignIds应该是一个整数数组。

这是我的代码:

 client = Savon.client(wsdl: "https://api7secure.publicaster.com/Pub7APIV1/Campaign.svc?singleWsdl") message = { "EncryptedAccountID" => api_key, "APIPassword" => api_password, "CampaignIds" => [3,4], "StartDate" => yesterday, "EndDate" => yesterday, "IncludeTests" => false } client.call(:get_comparative_report_details_data, message: message) 

产生以下要求:

     ***** ***** 3 4 2014-01-06 2014-01-06 false    

然而,如果我在SOUP UI中玩游戏,请求应如下所示:

     ***** *****  3 4  2014-01-06T16:21:47-05:00 2014-01-07T16:21:47-05:00 false    

有任何想法吗?

您可以尝试以下语法:

 message = { ... "CampaignIds" => {"int" => [3,4]}, ... } 

这将产生这个输出:

  3 4  

希望这可以帮助。