我正在阅读与 savon 版本 1 一起使用的railscast #290。 所以我尝试替换版本2的命令,但我做不到。
http://railscasts.com/episodes/290-soap-with-savon?view=asciicast
我替换了这样的命令。
ver1 client = Savon::Client.new("http://www.webservicex.net/uszip.asmx?WSDL")
ver2 client = Savon::Client.new(wsdl: "http://www.webservicex.net/uszip.asmx?WSDL")
ver1 client.wsdl.soap_actions
ver2 client.operations
ver1 client.request :web, :get_info_by_zip, body: { "USZIP"=> "90210"}
ver2 client.call(:get_info_by_zip) # 需要更多
如何设置命名空间 web
和正文参数 USZIP
和 90210
?
最佳答案
试试这个(虽然 www.webservicex.net 不是很可靠):
#!ruby
require 'savon'
WSDL_URL = 'http://www.webservicex.net/uszip.asmx?wsdl'
client = Savon.client(wsdl: WSDL_URL,
log: true, # set true to switch on logging
log_level: :debug,
pretty_print_xml: true)
zip = ARGV[0] || "10004"
response = client.call(:get_info_by_zip, message: {"USZip"=>zip})
print response
关于soap - 如何设置 savon 版本 2 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20257324/