Implements a standalone XML-RPC server. The method #serve is left if a SIGHUP is sent to the program.
 require "xmlrpc/server"
s = XMLRPC::Server.new(8080)
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
    Methods
    
  
  
  
    
    
    
    
    
    
      Class Public methods
      
        
            
              new(port=8080, host="127.0.0.1", maxConnections=4, stdlog=$stdout, audit=true, debug=true, *a)
            
            Link
          
          
          
            Creates a new XMLRPC::Server instance, which is a
XML-RPC server listening on the given port and accepts
requests for the given host, which is localhost
by default.
The server is not started, to start it you have to call #serve.
The optional audit and debug parameters are
obsolete!
All additionally provided parameters in *a are by-passed to XMLRPC::BasicServer.new.
# File lib/xmlrpc/server.rb, line 574 def initialize(port=8080, host="127.0.0.1", maxConnections=4, stdlog=$stdout, audit=true, debug=true, *a) super(*a) require 'webrick' @server = WEBrick::HTTPServer.new(:Port => port, :BindAddress => host, :MaxClients => maxConnections, :Logger => WEBrick::Log.new(stdlog)) @server.mount("/", self) end
Instance Public methods
      
        
            
              serve()
            
            Link
          
          
          
            Call this after you have added all you handlers to the server. This method starts the server to listen for XML-RPC requests and answer them.