Ruby 调用 WebServices

来源: 作者:佚名 2007-12-10 出处:pcdog.com

ddn  ruby  soa  



Demo WebService 公开 AddNumber 方法:

[WebMethod] public int AddNumber(int x, int y) { return x + y; }


Ruby 实现 WebServices 调用:

require 'soap/wsdlDriver'

wsdl = "http://localhost/WebAppTest/WebServicesDemo/Demo.asmx?wsdl"
params = {:x => 1, :y => 4}
drv = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
#Method1:
result = drv.AddNumber(params)
#Method2:
result = drv.send("AddNumber", params)

p result["AddNumberResult"] # Return 5

    你可以通过 rpc_driver 的实例直接调用 AddNumber 方法如 #Method1 所示。也可以通过 send 方法名的方式动态调用,如 #Method2 所示。参数是一个Hash,其 key 值必须和 WebMethod 定义的参数名一致。返回值也是一个Hash, 其key值是 "#{MethodName}Result "。



上一篇:RoR:Ruby On Rails 的 Web Service
下一篇:SOA与Web Service有什么关系?