Python请求webservice接口记录

Python请求webservice接口记录,第1张

Python请求webservice接口记录 本文仅记录Python调用webservice使用

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。
完毕。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5680075.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-17

发表评论

登录后才能评论

评论列表(0条)

    保存