在Python中正确使用SOAP - NULL参数错误

时间:2015-02-27 01:10:16

标签: python soap

如果我的某些术语有误,请告诉我 - 我一直在做很多函数式编程而不是很多(我认为是)Webdev的东西。

我发现在Python中使用SOAP非常困难 - 我找不到似乎与我正在尝试访问的特定API一起使用的用法示例(用于语法参考)。基本上,我不确定我的语法是否错误,或者我试图使用的API是否被窃听。

我看起来像是:

from SOAPpy import WSDL

server = WSDL.Proxy("https://some.example.of.a.remote.API")
results = server.MethodWithFourArguments("mike.hunt", "love", "12345", "RCP-90")

print results

我的远程API的文档说它需要字符串用户名,密码,发票号和SKU号作为“MethodWithFourArguments”方法的参数。

问题是我从远程API返回“Username was NULL”作为回复。

我已经尝试将参数格式化为列表,作为哈希,甚至在字符串之前使用小Python“u”将它们指定为utf。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

经过大量的反复试验后,我发现我需要使用模块“suds”。我能够用“pip install suds”安装它,以下是有效的:

import suds.client import Client

WSDL="https://some.example.of.a.remote.API"

client = Client(WSDL)
results = client.service.MethodWithFourArguments("mike.hunt", "love", "12345", "RCP-90")

print results

我正在使用的API非常简单 - 我只需要知道“SOAPpy”已被弃用和/或无法使用并改为使用“suds”。