我正在使用带有 ruby 1.8.7p358 的soap4r,我遇到了一个奇怪的错误。我有一个endpoint_url,当我浏览它时,没有身份验证错误消息。它打印出响应。但是,当我创建一个肥皂客户端并尝试访问客户端的方法时,它给了我身份验证错误。
例如:我有一个网址(比如说)endpoint_url.com/api/get_name.php?user_name="test"&api_key="test"
这个链接给了我这样的回应
<response>
<result>
<success>1</success>
</result>
<userspage="1" numberofpages="1" numberofusers="1"><row>Sadiksha</row>
</domains>
</response>
我将 rpc 驱动程序初始化为
def initialize
@username = "test"
@apikey = "test"
@driver = SOAP::RPC::Driver.new("endpoint_url.com/api/get_name.php", "urn:UserDetails")
end
我在同一个文件中有一个方法可以获取用户的所有统计信息
def getStats (name)
@driver.add_method('GetDetails', 'name')
user_details = {
'user_name' => @username,
'api_key' => @apikey,
'name' => name
}
result = @driver.GetDetails(user_details)
return result
end
当我运行程序时,它给了我错误“无法识别您的用户名和 apikey!” 我已经看了一段时间了。但是,我真的无法弄清楚可能出了什么问题!谁能让我知道我在这里做错了什么!