
Python调用webservice接口要使用suds包,直接使用pip 命令安装即可
pip install suds
以下是开发过程
先使用Python脚本查看webservice接口提供的方法下面这段代码完全是抄袭网上的文章
from suds.client import Client import json url = 'http://xxx.xxx.xxx.xxx:port/PWebSvr.dll/wsdl/IWebSvrJK' client = Client(url) print(client)
执行上述命令会显示以下内容
Suds ( https://fedorahosted.org/suds/ ) version: 0.6
Service ( IWebSvrJKservice ) tns="http://tempuri.org/"
Prefixes (0)
Ports (1):
(IWebSvrJKPort)
Methods (3):
GetInterFaceInfo()
GetQueryInfoJSON(xs:string INJSONStr)
GetXMLTextTest(xs:string InXml)
Types (0):
其中的Methods提示有三种方法: GetInterFaceInfoGetQueryInfoJSONGetXMLTextTest
方法名后面的括号里应该就是方法入参
通过对接方提供的技术文档,了解请求接口的入参内容
{
"QueryData": {
"SHEDID": "0",
"SysGuid": "XXXX--XXXXX-XXXX-XXXX",
"RouteName": "QReal_Data",
"Args": {
"PageIndex": "1"
}
}
}
在技术文档中,上述参数以字典dict的形式存在,但是直接传参字典会报错
suds.TypeNotFound: Type not found: 'QueryData'
遂想到把字典转换成字符串
import json input_param = json.dumps(dict_param) result=client.service.GetQueryInfoJSON(input_param) print(result)
执行测试,成功。
如此看来,方法GetQueryInfoJSON(xs:string INJSONStr) 后面括号里的内容已经提示入参的类型是string,格式是JSON。
完毕。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)