# 18.25 `SimpleXMLRPCServer` -- Basic XML-RPC server

New in version 2.2.

The `SimpleXMLRPCServer` module provides a basic server framework for XML-RPC servers written in Python. Servers can either be free standing, using `SimpleXMLRPCServer`, or embedded in a CGI environment, using `CGIXMLRPCRequestHandler`.

class `SimpleXMLRPCServer`( | addr[, requestHandler[, logRequests[, allow_none[, encoding]]]])

  Create a new server instance. This class provides methods for registration of functions that can be called by the XML-RPC protocol. The requestHandler parameter should be a factory for request handler instances; it defaults to `SimpleXMLRPCRequestHandler`. The addr and requestHandler parameters are passed to the ``SocketServer`.TCPServer` constructor. If logRequests is true (the default), requests will be logged; setting this parameter to false will turn off logging. The allow_none and encoding parameters are passed on to `xmlrpclib` and control the XML-RPC responses that will be returned from the server. Changed in version 2.5: The allow_none and encoding parameters were added.

class `CGIXMLRPCRequestHandler`( | [allow_none[, encoding]])

  Create a new instance to handle XML-RPC requests in a CGI environment. The allow_none and encoding parameters are passed on to `xmlrpclib` and control the XML-RPC responses that will be returned from the server. New in version 2.3. Changed in version 2.5: The allow_none and encoding parameters were added.

class `SimpleXMLRPCRequestHandler`( | )

  Create a new request handler instance. This request handler supports `POST` requests and modifies logging so that the logRequests parameter to the `SimpleXMLRPCServer` constructor parameter is honored.