如何在ruby中进行XMLRPC :: Client的wiredump?

时间:2009-08-12 00:38:51

标签: xml ruby xml-rpc

我正在使用ruby中的XML RPC处理一些代码,需要查看一些调试信息,你是怎么做到的?

2 个答案:

答案 0 :(得分:20)

读取包的源代码,XMLRPC :: Client依次使用Net :: HTTP作为传输。

所以我认为你应该能够相应地将一个方法修补到XMLRPC :: Client中:

require 'pp'

# the magic happens here
class XMLRPC::Client
  def set_debug
    @http.set_debug_output($stderr);
  end
end

server = XMLRPC::Client.new2("http://rpc.technorati.com/rpc/ping")
server.set_debug
result = server.call("weblogUpdates.ping", "Copenhagen.rb", "http://www.copenhagenrb.dk/")
pp result

(来自here的XMLRPC样本)。

答案 1 :(得分:0)

这里的答案很好,但请注意,http级转储通常可能是gzip编码的,因此不适合调试。另一种选择是使用@EnableGlobalMethodSecurity(prePostEnabled = true) 。 E.g:

client.http_last_response