我正在使用一个简单的SOAP Web服务来获取一小段HTML以包含在Rails站点中。不幸的是,我对SOAP并不是特别熟悉。
我需要在下面的端点上调用TopHtml()SOAP方法,但我还需要传递一个像TopHtml(29)这样的ID号。
我正在使用Savon gem,我的代码看起来有点像:
response = Savon::Client.new('http://www.xxxxxx.xxx/webservices/services.asmx?wsdl').top_html(29)
有效但返回未提供ID号时的默认响应。
似乎没有传递身份证号码。有谁知道如何将参数传递给Savon SOAP请求?
非常感谢, 特里斯坦
答案 0 :(得分:1)
试
response = Savon::Client.new('http://www.xxxxxx.xxx/webservices/services.asmx').top_html { |soap| soap.body = { :id => 29} }
答案 1 :(得分:1)
为了时间的利益,我最终自己准备了XML请求,这不太理想(并且几乎违背了使用Savon的目的),但这是我能够正确准备请求的唯一方法。 XML由服务的开发人员提供。
client = Savon::Client.new 'http://www.xxxxxx.xxx/webservices/services.asmx?wsdl'
response = client.top_html do |soap|
soap.xml = ...long xml here...
end
但是我不会再浪费时间了。