Мне нужно отправить объект через XML-RPC в Python. Мой объект состоит из составного типа данных для заполнения древовидной структуры:
class Node(object):
'''Composite data type '''
def __init__(self, pData, pParent=None):
self.mData = pData
self.mParent = pParent
self.mChildren = []
self.mParent
является ссылкой на его родительский узел. Поэтому у меня есть рекурсивные структуры данных для создания этой структуры. Когда я пытаюсь отправить этот тип данных напрямую через XML-RPC, он выдает эту ошибку:
xmlrpclib.Fault: <Fault 1: "<type 'exceptions.TypeError'>:cannot marshal recursive dictionaries">
Я думаю, что это исключение возникло из-за его сложной структуры. Потому что xml-rpc поддерживает только базовые типы данных. Я не мог использовать словари, потому что мне нужно, чтобы ссылки были на моем клиенте. Когда я использую словари со ссылками, это выдает ту же ошибку выше.
Я не мог использовать рассол, он должен быть независимым от языка.
Есть ли у вас какие-либо предложения по отправке объекта через XML-RPC? Может быть, как создать свой собственный тип данных, чтобы отправить его в формате XML?