2009-08-12 25 views

Respuesta

20

Leyendo el origen del paquete, XMLRPC :: Client utiliza Net :: HTTP a su vez como su transporte.

así que creo que debería ser capaz de mono-parche de un método en el XMLRPC :: Cliente en consecuencia:

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 

(muestra para XMLRPC de snarfed de here).

0

Respuesta correcta aquí, pero tenga en cuenta que el volcado del nivel http a menudo puede estar codificado gzip y, por lo tanto, no es muy bueno para la depuración. Otra opción es usar client.http_last_response. P. ej .:

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 
Cuestiones relacionadas