我们正在尝试在RoR中使用SOAP Web服务。使用SOAP :: WSDLDriverFactory和以下代码:
wsdl = SOAP::WSDLDriverFactory.new("http://<domain>/WSDL/v4.0/iLON100.WSDL")
proxy = wsdl.create_rpc_driver
proxy.get({:iLonItem => [{:Item => {:UCPTname => "Net/LON/Motion406"}}]})
get服务上的参数通过以下XML表示:
<Get xmlns="http://wsdl.echelon.com/web_services_ns/ilon100/v4.0/message/">
<iLonItem>
<Item xsi:type="LON_Network_Cfg">
<UCPTname>MyNetwork</UCPTname>
</Item>
</iLonItem>
</Get>
但我一直收到此错误: nil不允许:UCPTname
答案 0 :(得分:1)
最后解决了它,感谢proxy.wiredump_dev = $stdout
,我能够嗅探SOAP响应/请求。
上面xml上的哈希等价物是
{:iLonItem =>
{:Item => [{:UCPTname => 'Net/LON/Motion406'}]}
}
我是Ruby中的一个菜鸟!
答案 1 :(得分:0)