--- SimpleXMLRPCServer.py.orig	2006-12-18 20:21:12.000000000 -0300
+++ SimpleXMLRPCServer.py	2006-12-18 20:56:49.000000000 -0300
@@ -159,7 +159,8 @@
     reason to instantiate this class directly.
     """
 
-    def __init__(self):
+    def __init__(self, allow_none=None):
+        self.allow_none = allow_none
         self.funcs = {}
         self.instance = None
 
@@ -251,7 +252,11 @@
                 response = self._dispatch(method, params)
             # wrap response in a singleton tuple
             response = (response,)
-            response = xmlrpclib.dumps(response, methodresponse=1)
+            if self.allow_none is None:
+                response = xmlrpclib.dumps(response, methodresponse=1)
+            else:
+                response = xmlrpclib.dumps(response, methodresponse=1, allow_none=self.allow_none)
+	
         except Fault, fault:
             response = xmlrpclib.dumps(fault)
         except:
@@ -466,10 +471,10 @@
     """
 
     def __init__(self, addr, requestHandler=SimpleXMLRPCRequestHandler,
-                 logRequests=1):
+                 logRequests=1, allow_none=None):
         self.logRequests = logRequests
 
-        SimpleXMLRPCDispatcher.__init__(self)
+        SimpleXMLRPCDispatcher.__init__(self, allow_none=allow_none)
         SocketServer.TCPServer.__init__(self, addr, requestHandler)
 
 class CGIXMLRPCRequestHandler(SimpleXMLRPCDispatcher):

