gpt4 book ai didi

python - 扭曲的 XML-RPC 服务器中的 allow_none

转载 作者:太空狗 更新时间:2023-10-29 22:28:06 25 4
gpt4 key购买 nike

我正在使用 twisted 构建 xml rpc 服务,我想使用 None 就像它可以在标准 python 库中完成一样。如何将 allow_none 传递给扭曲版本的 xmlrpc 服务器?

编辑

In [28]: sock = rpc.ServerProxy('http://localhost:7080',allow_none=True)

In [29]: sock
Out[29]: <ServerProxy for localhost:7080/RPC2>

In [30]: sock.list_reports()
Out[30]: ['example']

In [31]: sock.run_report('example')
---------------------------------------------------------------------------
Fault Traceback (most recent call last)

reports/<ipython console> in <module>()

/usr/lib/python2.6/xmlrpclib.pyc in __call__(self, *args)
1197 return _Method(self.__send, "%s.%s" % (self.__name, name))
1198 def __call__(self, *args):
-> 1199 return self.__send(self.__name, args)
1200
1201 ##


/usr/lib/python2.6/xmlrpclib.pyc in __request(self, methodname, params)
1487 self.__handler,
1488 request,
-> 1489 verbose=self.__verbose
1490 )
1491

/usr/lib/python2.6/xmlrpclib.pyc in request(self, host, handler, request_body, verbose)
1251 sock = None
1252
-> 1253 return self._parse_response(h.getfile(), sock)
1254
1255 ##


/usr/lib/python2.6/xmlrpclib.pyc in _parse_response(self, file, sock)
1390 p.close()
1391
-> 1392 return u.close()
1393
1394 ##


/usr/lib/python2.6/xmlrpclib.pyc in close(self)
836 raise ResponseError()
837 if self._type == "fault":
--> 838 raise Fault(**self._stack[0])
839 return tuple(self._stack)
840

Fault: <Fault 8002: "Can't serialize output: cannot marshal None unless allow_none is enabled">

最佳答案

XMLRPC接受 allowNone 作为其初始值设定项的参数。因此,如果您想支持 None,请在实例化您的资源时传递 True

from twisted.web.xmlrpc import XMLRPC
resource = XMLRPC(allowNone=True)

关于python - 扭曲的 XML-RPC 服务器中的 allow_none,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3760043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com