0

PythonのXML-RPCを介してオブジェクトを送信する必要があります。私のオブジェクトは、ツリー構造にデータを入力するための複合データ型で構成されています。

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形式で送信するために独自のデータ型を作成する方法は?

4

1 に答える 1

1

見る

http://www.xs4all.nl/~irmen/pyro3/

ネットワーク上で Python オブジェクトを転送したい場合。

XMLRPC はその名前が示すように XML に基づいているため、Python オブジェクトをネットワーク経由でシリアル化せずに転送することはできません。

于 2011-05-20T15:26:49.653 に答える