2009-08-12 1 views

ответ

20

Чтение источника пакета XMLRPC :: Клиент использует Net :: HTTP, в свою очередь, как его транспорт.

Так что я думаю, что вы должны быть в состоянии обезьяны повязкой метод в XMLRPC :: Клиент соответственно:

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 

(образец для XMLRPC snarfed из here).

0

Прекрасный ответ здесь, но обратите внимание, что дамп на уровне http часто может быть закодирован gzip и, следовательно, не очень хорош для отладки. Другой вариант - использовать client.http_last_response. Например:

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