我使用a WSDL web service从Python调用SOAPpy。我需要做的是方法Auth_login。这有两个参数 - 第一个,一个字符串是API密钥;第二个,custom type containing username and password。自定义类型称为Auth_credentialsData,其中包含2个值作为stings - 一个用于用户名,另一个用于密码。如何使用SOAPpy创建此自定义类型?我尝试传递一个列表和一个字典,但都没有。
到目前为止代码:
from SOAPpy import WSDL
wsdlUrl = 'https://ws.pingdom.com/soap/PingdomAPI.wsdl'
client = WSDL.Proxy(wsdlUrl)
试过两个:
credentials = ['email@example.com', 'password']
client.Auth_login('key', credentials)
和
credentials = {'username': 'email@example.com', 'password': 'passsword'}
client.Auth_login('key', credentials)
这两个都会导致身份验证失败错误。
答案 0 :(得分:0)
更好的方法是使用ZSI soap模块,它允许您获取WDSL文件并将其转换为可用于调用它的类和方法。在线文档为 on their website,但在源包中更容易找到最新文档。如果您安装在Debian / Ubuntu(包名python-zsi)中,文档位于/ usr / share / doc / python-zsi中,您可以在其中找到一对PDF。