Ruby调用wsdl,用了我一个下午的时间才尝试出来!

require 'soap/wsdlDriver'

url = "http://40.1.41.52/MonitorSer/Service.asmx?wsdl"

drv = SOAP::WSDLDriverFactory.new(url).create_rpc_driver

##告诉程序我应该传递什么参数,并且hash表的key必须和webservices上提供的相同

my_param={:a=>"hello"}

XSD::Charset.encoding='UTF8'

##第一种方法

Result2=drv.HelloWorld(my_param)

##第二种方法

result =drv.send("HelloWorld",my_param)

##webservice有默认的返回keyi值,必须说明这里是helloworldresult

puts result["HelloWorldResult"]

你可能感兴趣的:(Ruby)