1

我正在使用一个简单的 SOAP Web 服务来获取一小段 HTML 以包含在 Rails 站点中。不幸的是,我对 SOAP 并不是特别熟悉。

我需要在下面的端点上调用 TopHtml() SOAP 方法,但我还需要传递一个 ID 号,例如 TopHtml(29)。

我正在使用 Savon gem,我的代码看起来有点像:

response = Savon::Client.new('http://www.xxxxxx.xxx/webservices/services.asmx?wsdl').top_html(29)

它有效,但在未提供 ID 号时返回默认响应。

好像没有通过身份证号。有谁知道如何将参数传递给 Savon SOAP 请求?

非常感谢,特里斯坦

4

2 回答 2

1

尝试

response = Savon::Client.new('http://www.xxxxxx.xxx/webservices/services.asmx').top_html { |soap| soap.body = { :id => 29} }
于 2010-11-04T22:35:53.167 回答
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

糟糕,但我不会再花时间在上面了。

于 2010-12-15T20:35:43.880 回答