title: Why can't xmlrpc client append item to list accessable via xmlrpc server procedure?
body: <p>Server code (based on Python library reference):</p>
  
  <pre><code>from xmlrpc.server import SimpleXMLRPCServer
  from xmlrpc.server import SimpleXMLRPCRequestHandler
  
  class RequestHandler(SimpleXMLRPCRequestHandler):
      rpc_paths = ()
  
  server = SimpleXMLRPCServer(("127.0.0.1", 8000),
                              requestHandler=RequestHandler)
  server.register_introspection_functions()
  
  l = list()
  
  def say_hi():
      return 'hi !'
  
  def append(event):
      l.append(event)
  
  server.register_function(say_hi)
  server.register_function(append)
  
  server.serve_forever()
  </code></pre>
  
  <p>Client (interpreter started from another terminal window):</p>
  
  <pre><code>&gt;&gt;&gt; from xmlrpc.client import ServerProxy
  &gt;&gt;&gt; s = ServerProxy('http://127.0.0.1', allow_none=True)
  &gt;&gt;&gt; s.say_hi()
  'hi !'
  &gt;&gt;&gt; s.append(1)
  Traceback (most recent call last):
  ...
  xmlrpc.client.Fault(Fault 1: "&lt;class 'TypeError'&gt;:cannot
                      marshal None unless allow_none is enabled")
  </code></pre>
  
  <p>How do I fix this? Am I using xmlrpc improperly?</p>