如何在Ruby中正确使用内置的XMLRPC?

gri*_*yvp 1 ruby xml-rpc

我正在尝试在Ruby 1.9中使用内置的XMLRPC.不幸的是,XMLRPC没有记录在ruby-docs.org上,所以我试图根据google发现的例子构建一个测试代码:

# Server.rb
require "xmlrpc/server"
server = XMLRPC::Server.new( 1234 )
server.add_handler( "test" ) { |msg| return "responce for #{msg}" }
server.serve()

# Client.rb

require "xmlrpc/client"
server = XMLRPC::Client.new( "localhost", "/", 1234 )
server.call( "test", 42 ) == "responce for 42"
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不适用于Windows和OSX.Server.rb失败的神秘错误:

C:/Ruby193/lib/ruby/1.9.1/xmlrpc/client.rb:414:in `call': Uncaught exception unexpected return in method test (XMLRPC::FaultException)
        from client.rb:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)

也许有人知道我的错误是什么?

Kub*_*uba 7

它的另一种方式是阻止:

#server.rb:
require "xmlrpc/server"
server = XMLRPC::Server.new( 1234 )
server.add_handler('my_test.test') { |msg|"responce for #{msg}" }

#client.rb
require "xmlrpc/client"
client = XMLRPC::Client.new( "localhost", "/", 1234 )
s = client.call('my_test.test','asd')
Run Code Online (Sandbox Code Playgroud)