你好,我正在测试几个Web服务,并尝试使用SAVON和我的WSDL编写客户端。我有一个名为log_process的可用操作,但是在尝试访问时出现错误。我已经在PHP中编写了类似的脚本,它可以正常工作。我已经尝试过
require 'net/http'
require "uri"
require 'savon'
client = Savon.client(wsdl: "http://somedomain.com/projects/shared/abc.wsdl")
@a=client.operations
puts @a
ary={0 =>"art", 1 =>"bac", 2 =>"arr"}
@result = client.call(:log_process, message:{0 =>"asdf", 1 =>"qwer", 2 =>"arr"})
puts @result
我得到了以下错误:
raise_soap_and_http_errors!': (SOAP-ENV:Client) Bad Request (Savon::SOAPFault)
我的php解决方案如下:
$result = $client->log_process(array(0=>$user_name,1=>$user_pwd,2=>$display_type));
你有没有想过Ruby中的等效方法是什么?或者我是否以正确的方式调用了操作?
operations()
的结果上调用log_process
?我猜你想要的是client.log_process
。 - Mark Thomas