在 Python 中正确使用 SOAP - NULL 参数错误
Proper use of SOAP in Python - NULL parameter error
如果我的术语有误,请告诉我 - 我一直在做很多函数式编程,而不是很多(我认为是)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" 作为响应。
我试过将参数格式化为列表、散列,甚至将它们指定为 utf,并在字符串前加上 Python "u"。
我做错了什么吗?
经过反复试验,我发现我需要使用模块"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" 已弃用 and/or 不工作并改用 "suds"。
如果我的术语有误,请告诉我 - 我一直在做很多函数式编程,而不是很多(我认为是)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" 作为响应。
我试过将参数格式化为列表、散列,甚至将它们指定为 utf,并在字符串前加上 Python "u"。
我做错了什么吗?
经过反复试验,我发现我需要使用模块"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" 已弃用 and/or 不工作并改用 "suds"。