Server代碼:爲什麼xmlrpc客戶端無法通過xmlrpc服務器過程追加項目以便列出可訪問? (基於Python庫參考)
from xmlrpc.server import SimpleXMLRPCServer
from xmlrpc.server import SimpleXMLRPCRequestHandler
class RequestHandler(SimpleXMLRPCRequestHandler):
rpc_paths =()
server = SimpleXMLRPCServer(("127.0.0.1", 8000),
requestHandler=RequestHandler)
server.register_introspection_functions()
l = list()
def say_hi():
return 'hi !'
def append(event):
l.append(event)
server.register_function(say_hi)
server.register_function(append)
server.serve_forever()
客戶端(從翻譯另一個終端窗口中啓動):
>>> from xmlrpc.client import ServerProxy
>>> s = ServerProxy('http://127.0.0.1', allow_none=True)
>>> s.say_hi()
'hi !'
>>> s.append(1)
Traceback (most recent call last):
...
xmlrpc.client.Fault(Fault 1: "<class 'TypeError'>:cannot
marshal None unless allow_none is enabled")
我該如何解決這個問題?我是否正確使用xmlrpc?
對於其他人誰也發現了這個問題,我發現,當服務器關閉和客戶端發送請求到服務器,導致無法除非ALLOW_NONE啓用 – 2017-04-23 13:28:44