3

我正在使用SOAPpy从 Python调用WSDL Web 服务。我需要调用的是Auth_login方法。这有 2 个参数 - 第一个,一个字符串是 API 密钥;第二个,包含用户名和密码的自定义类型。自定义类型称为 Auth_credentialsData,其中包含 2 个值作为字符串 - 一个用于用户名,一个用于密码。如何使用 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)

两者都给出身份验证失败错误。

4

1 回答 1

0

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

于 2008-09-23T00:54:58.183 回答