2013-07-10 17 views
0

我想在Python中使用xmlrpclib中的自定义传输类,但是当我指定自定义传输时,第一次出现异常拨打:由于TypeError,无法使用python xmlrpclib自定义传输类:未绑定方法请求()


    File "/Users/sorins/dev/py/confluence/confluence/confluence.py", line 208, in __init__ 
    self._token = self._server.confluence1.login(username, password) 
    File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xmlrpclib.py", line 1224, in __call__ 
    return self.__send(self.__name, args) 
    File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xmlrpclib.py", line 1578, in __request 
    verbose=self.__verbose 
TypeError: unbound method request() must be called with SafeTransport instance as first argument (got str instance instead) 

样品的编号:

#!/usr/bin/env python 
from xmlrpclib import Transport 

class MyTransport(Transport): 
    pass 

server = xmlrpclib.ServerProxy('https://example.com/rpc/xmlrpc',allow_none=True,transport=MyTransport) 
server.confluence1.login(username, password) # <-- exception 

原始连接制作,但到RPC方法的第一个调用将失败,上述错误。

删除transport = MyTransport解决了这个问题。

注意:我尝试了与SafeTransport相同的结果。

我确实需要一个自定义传输才能注入一些头文件。我该如何解决?

回答

1

更改为transport=MyTransport(),不是类型,而是此类型的一个实例。

相关问题