Я работаю над некоторым кодом, использующим XML RPC в рубине, и вам нужно увидеть некоторую отладочную информацию, как вы это делаете?Как сделать проводной XMLRPC :: Клиент в рубине?
9
A
ответ
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