Tag: savon

试图用Savon构建SOAP请求?

我试图从Ruby on Rails获得一个SOAP服务 – 从SOAP UI我可以很好地完成它,请求XML如下所示: 1 90 -110.5322 35.2108 Additional 如果我将那个确切的XML复制到带有request = %q(XML STRING)到savon的Ruby字符串中并使用该方法然后在Savon中调用以下内容: response = client.call(:get_info, xml: request) 它按预期工作,我得到了我的回应 – 但实际上我想把参数传递给Savon。 到目前为止,我尝试了以下内容: coordinate = { Id: ‘1’, X: -110.5322, Y: 35.2108, QualityIndex: 90 } coordinates = {Coordinates: [coordinate] } coordinateReq = {coordReq: {coordinates: coordinates} } response = client.call(:get_informations_for_coordinates, message: coordinateReq) 这失败了,如果我查看我发送的XML,如下所示: 1 -110.5322 […]

Savon:如何在SOAP请求的哈希体中指定自定义XML?

在SOAP请求中,我需要指定具有不同值的重复键,如下所示: soap.body = {:query => { :fields => { :string => ‘Email’, :string => ‘FirstName’, :string => ‘LastName’ } } 使用此哈希,请求将形成为: LastName 最后一个:字符串对。 所以,如果我把: soap.body = {:query => { :fields => “EmailFirstNameLastName” } 这将导致: <string>Email</string><string>FirstName</string><string>LastName</string> 有没有办法在哈希中得到这个?: EmailFirstNameLastName 注意:我使用的是Ruby 1.8.7。

Savon将XML作为字符串返回,而不是哈希

我试图使用Savon解析SOAP响应。 响应是XML,但作为一个长字符串返回。 如果我使用#to_hash,整个XML对象仍然是一个字符串,现在存储在其中 hash[:response][:return] 这意味着它仍然是一个巨大的无法使用的混乱。 我的代码看起来像 response = soapClient.request(:get_sites_user_can_access) do soap.body = { :sessionid => session[:login_response][:login_return], :eid => user } end rep = response.to_hash pp rep[:get_sites_user_can_access_response][:get_sites_user_can_access_return] 我错过了从响应中获取有用信息的哪一步? 注意:遗憾的是,由于它包含的信息,我无法发布XML响应,但它看起来像一个整个XML文档存储为字符串。 它的类是Nori :: StringWithAttributes

如何指定savon客户端的所有命名空间

我正在尝试设置一个Savon的SOAP Envelope,但无法弄清楚如何指定所有命名空间。 我知道如何添加名称空间,但这不是我想要的。 我正在使用Savon 2。

如何获取savon gem中特定操作的输入列表

有没有办法从savon gem中的wsdl文件获取特定操作的输入(参数)列表? https://github.com/savonrb/savon

Savon:XML标签的数组

我正在使用Savon进行SOAP请求,在SOAP请求XML的某个地方,我需要生成这段代码: 最好的方法是什么?

Ruby Savon Gem更改日志记录配置

我尝试在针对WSDL运行时更改Savon上的日志记录,但是在更改日志记录级别方面却没有成功。 我阅读了文档: http : //rubiii.github.com/savon/#global_configuration 我这样做了: Savon.configure do |config| config.log = false # disable logging config.log_level = :info # changing the log level config.logger = Rails.logger # using the Rails logger end 它抱怨不知道配置意味着什么……任何想法?

如何使用Ruby Savon编写SOAP身份validation标头

我是第一次调用基于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:“” 授权:基本RXhhbXBsZVVzZXJOYW1lOkV4YW1wbGVQYXNzd29yZA == 我正在使用Savongem来打电话。 在给定上述信息的情况下,如何使用Ruby 1.9.3和Savon gemvalidationAPI调用api_call ? 这就是我用来设置WSDL或client 。 client = Savon.client(wsdl: “https://api.five9.com/wsadmin/v2/AdminWebService?wsdl&user=luigi@apitest.com”)

Cucumber / Savon省略或删除日志记录输出

在运行黄瓜测试时,我得到(除了测试结果)以下forms的许多调试/日志相关输出: D, [2013-03-06T12:21:38.911829 #49031] DEBUG — : SOAP request: D, [2013-03-06T12:21:38.911919 #49031] DEBUG — : Pragma: no-cache, SOAPAction: “”, Content-Type: text/xml;charset=UTF-8, Content-Length: 1592 W, [2013-03-06T12:21:38.912360 #49031] WARN — : HTTPI executes HTTP POST using the httpclient adapter D, [2013-03-06T12:21:39.410335 #49031] DEBUG — : <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" … 有没有办法关掉这个输出? 我试过按照这篇文章中的说明操作,我的config_spec.rb文件是: require “spec_helper” describe Savon::Config do let(:config) { […]

传递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 有任何想法吗?