[英]Fault: No Attribute in xmlrpclib.py
我正在開發其中正在創建服務器和客戶端的應用程序; ServerAPI使用SimpleXMLRPCServer,而ClientAPI使用xmlrpclib。 客戶端通過以下方式啟動:
class w_Client:
def __init__(self, ServerIP, ServerPort, ClientIP):
self.conn = xmlrpclib.ServerProxy("http://" + ServerIP + ":" + str(ServerPort))
self.ClientIP = ClientIP
在應用程序中按下按鈕后,將創建一個xml規范文件並通過
def Create(self, XMLstring):
return self.conn.Create(XMLstring, self.ClientIP)
我已經檢查過以確保XMLstring是有效的XML。 但是,當我按下按鈕時,出現以下錯誤:
Traceback (most recent call last):
File "/home/app/UI/MainWindow.py", line 461, in compile
xmlFile = compiler.compile()
File "/home/app/Core/Compiler.py", line 75, in compile
self.compile_top()
File "/home/app/Core/Compiler.py", line 354, in compile_top
status = mainWidgets["w_client"].Create(xmlString)
File "/home/app/Wireless/ClientAPI.py", line 12, in Create
return self.conn.Create(XMLstring, self.ClientIP)
File "/usr/lib/python2.7/xmlrpclib.py", line 1233, in __call__
return self.__send(self.__name, args)
File "/usr/lib/python2.7/xmlrpclib.py", line 1591, in __request
verbose=self.__verbose
File "/usr/lib/python2.7/xmlrpclib.py", line 1273, in request
return self.single_request(host, handler, request_body, verbose)
File "/usr/lib/python2.7/xmlrpclib.py", line 1306, in single_request
return self.parse_response(response)
File "/usr/lib/python2.7/xmlrpclib.py", line 1482, in parse_response
return u.close()
File "/usr/lib/python2.7/xmlrpclib.py", line 794, in close
raise Fault(**self._stack[0])
xmlrpclib.Fault: <Fault 1: "<type 'exceptions.TypeError'>:'NoneType' object has no attribute '__getitem__'">
我還確保正確傳遞ClientIP。 否則,我不能完全確定發生了什么或者如何修復它。
<type 'exceptions.TypeError'>:'NoneType' object has no attribute '__getitem__'
您調用的xmlrpc方法(即服務器端)可能已生成此異常。
我建議您在服務器代理的實例中添加verbose=True
:
xmlrpclib.ServerProxy("http://" + ServerIP + ":" + str(ServerPort),verbose=True)
這將使您能夠查看正在發送和接收的內容。
您正在調用的方法似乎期望一個dict
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.