У меня есть простой пример для отправки словаря через xml-rpc:
class CTest(object):
def __init__(self):
self.node1 = {'data':'zek', 'parent':{}, 'children':[]}
self.node2 = {'data':'bill', 'parent':{}, 'children':[]}
self.node1['children'].append(self.node2)
self.node2['parent'] = self.node1
def getNode(self):
return self.node1
У меня есть два словаря: узел2 является дочерним узлом узла1, и в то же время узел2 имеет ссылку на узел1 в качестве родительской переменной.
Так что это рекурсивный словарь. Когда я пытаюсь отправить node1 через XML-RPC, я получаю следующее исключение:
#Command to execute xml-rpc dump method for serialization
test = CTest()
xmlrpclib.dumps((test,), 'Node Object')
#Exception
raise TypeError, "cannot marshal recursive dictionaries"
Можно ли отправить узел 1 через XML-RPC (без изменения структуры словаря)?
Спасибо.