我遇到了 Ruby 2.0p0 和 XMLRPC::Client 的问题。当我在 2 个不同版本的 ruby 中运行以下代码时,我在 1.9.3 上得到正确响应,但在 2.0.0 上得到错误。有同样问题的人吗?解决方案是不使用最新版本的 ruby 还是有解决方法?
require "xmlrpc/client"
server = XMLRPC::Client.new2('http://api.flickr.com/services/xmlrpc/')
begin
res = server.call('flickr.test.echo')
puts res
rescue XMLRPC::FaultException => e
puts e.faultCode
puts e.faultString
end
使用ruby-1.9.3-p392 [ x86_64 ]
我从 flickr 得到了正确的响应,因为我没有提供 API 密钥:
100
Invalid API Key (Key has invalid format)
使用ruby-2.0.0-p0 [x86_64]
我从 ruby 收到一个错误,说“大小错误。是 365,应该是 207 (RuntimeError)”
/home/luisramalho/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/xmlrpc/client.rb:506:in `do_rpc': Wrong size. Was 365, should be 207 (RuntimeError)
from /home/luisramalho/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/xmlrpc/client.rb:281:in `call2'
from /home/luisramalho/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/xmlrpc/client.rb:262:in `call'
from xmlrpc.rb:5:in `<main>'