0
这是我第一次使用SOAP,我试图使用python发送服务调用。我用SOAPy和pysimplesoap作为客户端库。发送基于SOAP协议的服务调用
我有以下几点:
- WSDL File。
- XSD文件。
- 我尝试执行的方法名称。
- 所有需要的参数。
我想要做什么:
- 执行的方法。
- 获取从方法返回的xml文件。
这是一个工作PHP Script就像我想要的,但我需要它在Python中。
这是我第一次使用SOAP,我试图使用python发送服务调用。我用SOAPy和pysimplesoap作为客户端库。发送基于SOAP协议的服务调用
我有以下几点:
我想要做什么:
这是一个工作PHP Script就像我想要的,但我需要它在Python中。
只需使用这段代码:
from pysimplesoap.client import SoapClient
client = SoapClient(wsdl="your_file.wsdl",trace=False)
response = client.YourMehtod(p="parameter")
result = response['YourResult']
的事情,你需要从这段代码得到的是:
YourMethod
是您要调用的方法的名称(把所有的方法提供给你,在代码片段的第二行的电话后使用print client
。YourRestult
是你从得到的结果呼叫。使用print response
检查你所得到的所有结果。你也可以考虑使用suds
库,如果SOAP客户端是你所关心的。
1.我得到了一个意想不到的**关键字参数**由于初始化SoapClient时的_trace_。 2.代码的第三行抛出一个** TypeError ** _call()接受3个参数(给出2个)_ – mbanayosi 2014-12-13 11:46:24
对于**意外的关键字**,您可能使用的是不同版本的** pysimplesoap * *。只需删除该参数。第二个错误显然是因为您的远程方法需要多个参数。根据需要添加尽可能多的参数。 – 2014-12-13 11:50:32
参数应该是什么类型?我试着_dict_,_tuples_数组都失败了。 – mbanayosi 2014-12-13 12:16:58