--- xmlrpclib.py 2010-11-15 12:03:43.401600000 +0100 +++ Lib\xmlrpclib.py 2010-11-15 13:02:03.261000000 +0100 @@ -701,7 +701,7 @@ def dump_nil (self, value, write): if not self.allow_none: raise TypeError, "cannot marshal None unless allow_none is enabled" - write("") + write("") dispatch[NoneType] = dump_nil def dump_int(self, value, write): @@ -863,7 +863,11 @@ try: f = self.dispatch[tag] except KeyError: - pass # unknown tag ? + if ':' in tag: #Ahh... xml namespace! + if tag.split(':')[1] == 'nil': + #Support for nil (a.k.a. None) is in EXTENSIONS to XMLRPC, so can be in separate namespace + f = self.dispatch['nil'] else: return f(self, join(self._data, "")) @@ -1143,7 +1146,7 @@ methodname = methodname.encode(encoding) data = ( xmlheader, - "\n" + "\n" "", methodname, "\n", data, "\n" @@ -1152,7 +1155,7 @@ # a method response, or a fault structure data = ( xmlheader, - "\n", + "\n", data, "\n" )