PYTHON-SUDS没有调用DocumentPlugin加载的方法

时间:2013-01-16 14:08:21

标签: python exchangewebservices suds

请原谅我,如果这是一个微不足道的问题。我正在尝试使用Exchange Web服务(EWS)和suds版本0.4阅读电子邮件。因为我需要在suds创建服务之前修改WSDL,所以我使用下面的代码在suds解析它之前尝试修改WSDL。但据我所知,插件的加载方法没有被调用。

任何人都可以告诉我我做错了什么?我尝试过使用suds-ews,但似乎已经过时了,因为我无法在方法中插入属性。

class AddService(DocumentPlugin):
    # WARNING: suds hides exceptions in plugins
    def loaded(self, ctx):
        print "help"
        return ctx

client = Client("https://server/EWS/Services.wsdl",
                plugins=[AddService(),])

谢谢

1 个答案:

答案 0 :(得分:0)

很可能是因为suds已经缓存了解析的WSDL:

https://fedorahosted.org/suds/wiki/Documentation#PERFORMANCE

因此,您可以通过向Client()调用添加cache = None来清除临时目录或完全禁用缓存。