尝试使用echosign SOAP API。
wsdl在这里:https://secure.echosign.com/services/EchoSignDocumentService14?wsdl
当我尝试创建某些对象时,即使在print client
中列出了它,它也似乎无法找到该类型。
import suds
url = "https://secure.echosign.com/services/EchoSignDocumentService14?wsdl"
client = suds.client.Client(url)
print client
Service ( EchoSignDocumentService14 ) tns="http://api.echosign"
Prefixes (10)
ns0 = "http://api.echosign"
ns1 = "http://dto.api.echosign"
ns2 = "http://dto10.api.echosign"
ns3 = "http://dto11.api.echosign"
ns4 = "http://dto12.api.echosign"
ns5 = "http://dto13.api.echosign"
ns15 = "http://dto14.api.echosign"
ns16 = "http://dto7.api.echosign"
ns17 = "http://dto8.api.echosign"
ns18 = "http://dto9.api.echosign"
Ports (1):
(EchoSignDocumentService14HttpPort)
Methods (45):
...
Types (146):
ns1:CallbackInfo
ns17:WidgetCreationInfo
简洁起见,但显示了我现在关注的名称空间和2种类型。
尝试运行
WCI = client.factory.create("ns17:WidgetCreationInfo")
会产生此错误:client.factory.create(“ ns17:WidgetCreationInfo”)
追溯(最近一次通话):
文件“”,第1行,位于
创建文件“ build / bdist.macosx-10.7-intel / egg / suds / client.py”,第244行
suds.BuildError:
构建(ns17:WidgetCreationInfo)的实例时发生错误。结果是
您请求的对象无法构建。推荐
您使用Suds对象手动构造类型。
请打开票证并说明此错误。
原因:找不到类型:'((CallbackInfo,http://dto.api.echosign,)'
因此,它似乎无法找到CallbackInfo类型。也许是因为它缺少那里的ns?
最佳答案
再次,在这里发布15分钟后弄清楚。
suds可以对所有名称空间进行异花授粉,因此它们都可以相互导入其他模式。可以在构造函数中或使用autoblend
方法设置set_options
。
suds.client.Client(url, autoblend=True)
关于python - Python suds错误创建对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11532756/