如何使用SOAPpy创建非标准类型?

时间:2008-09-23 00:46:15

标签: python web-services soap

我使用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)

这两个都会导致身份验证失败错误。

1 个答案:

答案 0 :(得分:0)

更好的方法是使用ZSI soap模块,它允许您获取WDSL文件并将其转换为可用于调用它的类和方法。在线文档为 on their website,但在源包中更容易找到最新文档。如果您安装在Debian / Ubuntu(包名python-zsi)中,文档位于/ usr / share / doc / python-zsi中,您可以在其中找到一对PDF。