Type:
Class
Implements a CGI-based XML-RPC server.
require "xmlrpc/server" s = XMLRPC::CGIServer.new s.add_handler("michael.add") do |a,b| a + b end s.add_handler("michael.div") do |a,b| if b == 0 raise XMLRPC::FaultException.new(1, "division by zero") else a / b end end s.set_default_handler do |name, *args| raise XMLRPC::FaultException.new(-99, "Method #{name} missing" + " or wrong number of parameters!") end s.serve
Note: Make sure that you don't write to standard-output in a handler, or in any other part of your program, this would cause a CGI-based server to fail!