如何在python中的xmlrpc中多次调用register_instance

问题描述

我想对每个充当服务的不同类不止一次使用xmlrpc register_instance。例如,如果我有两个类,并按如下所示使用它们:

from xmlrpc.server import SimpleXMLRPCServer

server = SimpleXMLRPCServer(('localhost',3000),logRequests=True)

class C1:
    def __init__(self):
        pass

    def f1(self):
        return "f1 output"

class C2:
    def __init__(self):
        pass

    def f2(self):
        return "f2 output"


if __name__ == "__main__":
    try:
        print('Serving...')

        server.register_instance(C1())
        server.register_instance(C2())

        server.serve_forever()
    except KeyboardInterrupt:
        print("Exiting")

运行它们,然后分别调用以下脚本:

from xmlrpc.client import ServerProxy

server = ServerProxy('http://localhost:3000')
r = server.f1()
print(r)
r = server.f2()
print(r)

它引发异常:

xmlrpc.client.Fault: <Fault 1: '<class \'Exception\'>:method "f1" is not supported'>

但是,如果我删除register_instance之一,那么它就可以了!该如何解决

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)