繁体   English   中英

如何使用 Python 的 Zeep 库正确格式化 SOAP 请求?

[英]How do I properly format a SOAP request using Python's Zeep library?

这是我正在使用的 WSDL: http ://sprws.sprich.com/sprws/StockCheck.php?wsdl 使用 SoapUI,输入看起来像这样:

 <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:stoc="http://sprws.sprich.com/sprws/StockCheck.php?wsdl"> <soapenv:Header/> <soapenv:Body> <stoc:StockCheck soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <input xsi:type="stoc:StockCheckInputs"> <!--You may enter the following 10 items in any order--> <GroupCode xsi:type="xsd:string">[Removed]</GroupCode> <UserID xsi:type="xsd:string">[Removed]</UserID> <Password xsi:type="xsd:string">[Removed]</Password> <Action xsi:type="xsd:string">F</Action> <CustNumber xsi:type="xsd:string"></CustNumber> <DcNumber xsi:type="xsd:string"></DcNumber> <ItemNumber xsi:type="xsd:string">HAM105007CT</ItemNumber> <SortBy xsi:type="xsd:string">A</SortBy> <MinInFullPacks xsi:type="xsd:string"></MinInFullPacks> <AvailableOnly xsi:type="xsd:string">Y</AvailableOnly> </input> </stoc:StockCheck> </soapenv:Body> </soapenv:Envelope>

如何在 Python 中重新创建它?
到目前为止,我有:

from zeep import Client
from zeep import xsd
client = Client(wsdl='http://sprws.sprich.com/sprws/StockCheck.php?wsdl')
result = client.service.StockCheck(GroupCode='[Removed]', UserID='[Removed]', Password='[Removed]', ItemNumber='HAM105007CT', Action='F', SortBy='A')
print(result)

我想获取特定项目编号的库存,但不知道用于提交请求的语法。

我在尝试打开 WSDL 时收到 ERR_CONNECTION_TIMED_OUT 错误,但根据您发布的评论,操作方法如下所示:

StockCheck(input: ns0:StockCheckInputs) -> return: ns0:StockCheckRsults

但是您正试图拨打这样的电话:

client.service.StockCheck(GroupCode='[Removed]', UserID='[Removed]', Password='[Removed]', ItemNumber='HAM105007CT', Action='F', SortBy='A')

所有这些参数都需要包装在ns0:StockCheckInputs类型的对象中才能使调用生效。

而且,服务和 WSDL 需要可访问,以防我不是唯一一个无法打开该地址的人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM