技术开发 频道

Ruby 调用 WebServices



【IT168 技术文档】

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 "。

0
相关文章