python调用webservice接口的实现

yipeiwu_com7年前Python基础

使用suds这个第三方模块

from suds.client import Client
url = 'http://ip:port/?wsdl'
cilent=Client(url)
print cilent 

查看webservice接口的具体信息:

调用接口方法,通常 client.service.methodname

实际测试过程中遇到的坑:

1、tns 值为Localhost

之前查看接口信息时,未发现tns="http://Localhost:4567/Interface.wsdl",这个被设置成Localhost,导致通过接口调用时,只能在webservice接口本地服务器上才能调用成功,其他服务器调用时,接口中的方法都无法获取。大坑!

解决方法:修改webservice接口对应的wsdl文件 Interface.wsdl,将其中的Localhost改成具体ip即可。

2、接口方法名不符合python命名规范

比如上述的方法,无法直接这样调用

解决办法:python内置函数getattr 。 getattr(cilent.service,'ser-GetAreaID')('1')

3、接口方法传参

此方法为例

1、方法一:

soap_rep=getattr(soapService, 'ser-SetValue')(nSetFlag=1,nSystemID=1,nRecordNo=440002028,nTableNo=18,cValue='225',UserName='admin')

2、方法二:

soap_rep=getattr(soapService, 'ser-SetValue')(1,1,440002028,18,'225','admin') # 需要一一对应

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python是编译运行的验证方法

虽然Python被说成是一种解释型语言,但是实际上,Python源程序要先经过编译,然后才能运行。 与Java语言类似,Python源程序编译之后得到的是字节码,交由Python虚拟机来...

用Q-learning算法实现自动走迷宫机器人的方法示例

用Q-learning算法实现自动走迷宫机器人的方法示例

项目描述: 在该项目中,你将使用强化学习算法,实现一个自动走迷宫机器人。 如上图所示,智能机器人显示在右上角。在我们的迷宫中,有陷阱(红色×××)及终点(蓝色的目标点)两种情景。机器人...

浅析python,PyCharm,Anaconda三者之间的关系

一、它们是什么? 1.python Python是一种跨平台的计算机程序设计语言,简单来说,python就是类似于C,Java,C++等,一种编程语言。 2.Anaconda Anaco...

Python中为feedparser设置超时时间避免堵塞

python有一个用于解析feed的模块:feedparser,feedparser解析各种feed是非常方便的,唯一比较恼火的是遇到一些badurl,经常会导致堵塞,因此需要为feed...

使用python 的matplotlib 画轨道实例

使用python 的matplotlib 画轨道实例

如下所示: import numpy as np import matplotlib.pyplot as plt import matplotlib.patches as mpa...