gpt4 book ai didi

python - 如何在zeep客户端中发送参数

转载 作者:太空宇宙 更新时间:2023-11-03 14:46:17 25 4
gpt4 key购买 nike

我正在使用 python zeep 库,我正在尝试向 soap 客户端发送请求,但我不断收到此错误:

ValueError: The String type doesn't accept collections as value

这是 WSDL 客户端的 XML 文件:

<s:element name="SendSms">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="username" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="password" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="to" type="tns:ArrayOfString"/>
<s:element minOccurs="0" maxOccurs="1" name="from" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="text" type="s:string"/>
<s:element minOccurs="1" maxOccurs="1" name="isflash" type="s:boolean"/>
<s:element minOccurs="0" maxOccurs="1" name="udh" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="recId" type="tns:ArrayOfLong"/>
<s:element minOccurs="0" maxOccurs="1" name="status" type="s:base64Binary"/>
</s:sequence>
</s:complexType>
</s:element>

这是我的代码:

from zeep import Client


client = Client("http://www.parandsms.ir/post/send.asmx?wsdl")
parameters = {
"username":"my_user_name",
"password":"my_password",
"from":"50009666096096",
"to":"a_phone_number_wich_i_put_here_as_string",
"text":"salam",
"isflash":False,
'recId':"",

}
res = Client
status = 0
status= client.service.SendSms(parameters).SendSmsResult()
print(status)

我在这个错误上卡了很久。如果有人可以提供帮助,我将不胜感激。

最佳答案

将它们作为命名参数传递给您的服务方法:

result = client.service.SendSms(username='my_user_name', password='my_password', ...)

或者因为你有很多参数而且它们已经是字典了:

result = client.service.SendSms(**parameters)

关于python - 如何在zeep客户端中发送参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49082416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com