我正在尝试使用Python suds通过使用服务来访问SharePoint列表,但我在使用客户端组件时遇到了一些困难。我首先支持企业防火墙,这意味着当NTLM身份验证工作并且suds获取Lists.asmx?WSDL包时,它将尝试在互联网上运行以获取Schema。它失败了。
所以,我想要一些代理帮助。我尝试了Client.set_options( proxy = d )
,其中d是字典,而Suds抱怨如下:
Client.set_options( proxy = d )
TypeError: unbound method set_options() must be called with Client instance
as first argument (got nothing instead)
任何想法?
答案 0 :(得分:1)
编辑:所以我找到了解决这个问题的方法,可能/可能没有帮助OP,但在相同的情况下肯定帮助了我。 'NTML'修正了拼写错误。
解决方法是在本地缓存XMLSchema.xml文件(请参阅此处:suds and soaplib without internet access)
import os.path
from suds.xsd import sxbasic
sxbasic.Import.bind('http://www.w3.org/2001/XMLSchema',
'file://' + os.path.join(ROOT_DIR, 'cache', 'suds', 'XMLSchema.xml'))
并在ROOT_DIR / cache / suds /中保存XMLSchema.xml的本地副本。
理想的解决方案是设置NTLM身份验证和suds的代理,但我还是没有想出如何做到这一点......