webservice类型的接口该如何处理?使用suds模块进行类的封装

import jsonfrom suds.client import Client

class HandleWebservice:    ‘‘‘    定义一个webservice类型的接口处理类    ‘‘‘    def __init__(self, send_msg_url, api_name):        ‘‘‘        构造器        :param send_msg_url: 接口地址        :param api_name:接口名称        ‘‘‘        self.api_name = api_name        self.client = Client(send_msg_url)

    def api_res(self, data):        ‘‘‘        请求处理方法        :param data: 字典数据类型的请求体        :return: json数据格式类型的str        ‘‘‘        try:            # 踩过一个坑,如果直接在这里一次性转换到位,那么因为执行的顺序,会先传入data            # 错误的处理办法:res = eval(f"self.client.service.{self.api_name}({data})")            res = f"self.client.service.{self.api_name}(data)"            res = eval(res)            res_str = json.dumps(dict(res))            return res_str        except Exception as e:            res = e            res_str = json.dumps(dict(res.fault), ensure_ascii=False)            return res_str

原文地址:https://www.cnblogs.com/xiaogongjin/p/11407453.html

时间: 2024-11-01 12:44:28

webservice类型的接口该如何处理?使用suds模块进行类的封装的相关文章

php面向对象 封装继承多态 接口、重载、抽象类、最终类总结

1.面向对象 封装继承多态  接口.重载.抽象类.最终类 面向对象 封装继承多态  首先,在解释面向对象之前先解释下什么是面向对象? [面向对象]1.什么是类? 具有相同属性(特征)和方法(行为)的一系列个体的集合,类是一个抽象的概念2.什么是对象?从类中拿到的具有具体属性值得个体,称为对象,对象是一个具体的个体 所以,面向对象即我们专注对象来处理问题,通过从一个个具有属性和功能的类中拿到对象来处理问题. 下面我们再来细说下面向对象的三大特征:继承/封装/多态 一.继承 在PHP中我们主要通关E

接口测试-webservice类型接口自动化脚本suds模块

做webservevice自动化测试 可以使用python suds模块 根据Python版本安装suds 1.使用Pip安装suds模块  (之前使用的是python 3.5版本 可以suds安装成功 改成python3.5.3后安装失败) pip install suds 2.通过查看https://pypi.python.org/pypi找到适合当前python版本使用的suds-jurko 再次通过pip install suds-jurko安装 http://www.cnblogs.c

JavaSE8基础 函数的返回类型是接口

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        代码: interface Say { public abstract void sayHello(); } class Javaer implements Say{ public void sayHello() { System.out.println("Java Hello"); } } class D

java web项目(spring项目)中集成webservice ,实现对外开放接口

什么是WebService?webService小示例 点此了解 下面进入正题: Javaweb项目(spring项目)中集成webservice ,实现对外开放接口步骤: 准备: 采用与spring兼容性较好的cxf来实现 cxf 的  jar下载地址: http://cxf.apache.org/download.html 选择zip格式下载,解压后的lib目录下的jar 需要最少的jar如下: cxf-2.3.3.jargeronimo-annotation_1.0_spec-1.1.1.

扩展方法的几个实例,扩展基本类型、接口、通过反射让扩展方法使用私有成员等

.net扩展方法可以扩展很多类型,包括:基本数据类型.接口.类,等等.如果,需要扩展的类型包含私有成员,扩展方法如何运用这些私有成员呢?本篇逐一体验,包括: ■ 扩展基本数据类型■ 扩展接口■ 扩展包含私有字段的类 使用反射获取类的私有字段■ 扩展一个类的私有嵌套类 通过反射 扩展方法有几个必要前提:● 扩展方法所在的类必须是静态类● 扩展方法本身必须是静态方法● 扩展方法参数中,对类型的扩展参数前必须加this关键字 扩展基本数据类型 针对DateTime类型写一个扩展方法. public s

接口——定义,实现接口的条件,类型与接口的关系,类型断言

1.定义 Go 语言的接口设计是非侵入式的,接口编写者无须知道接口被哪些类型实现.而接口实现者只需知道实现的是什么样子的接口,但无须指明实现哪一个接口.编译器知道最终编译时使用哪个类型实现哪个接口,或者接口应该由谁来实现. 每个接口类型由数个方法组成.接口的形式代码如下: type 接口类型名 interface{ 方法名1( 参数列表1 ) 返回值列表1 方法名2( 参数列表2 ) 返回值列表2 …} 说明: 接口类型名:使用 type 将接口定义为自定义的类型名.Go语言的接口在命名时,一般

Python 接口:从协议到抽象基类

抽象基类的常见用途:实现接口时作为超类使用.然后,说明抽象基类如何检查具体子类是否符合接口定义,以及如何使用注册机制声明一个类实现了某个接口,而不进行子类化操作.最后,说明如何让抽象基类自动“识别”任何符合接口的类——不进行子类化或注册. Python文化中的接口和协议 接口在动态类型语言中是怎么运作的呢?首先,基本的事实是,Python语言没有 interface 关键字,而且除了抽象基类,每个类都有接口:类实现或继承的公开属性(方法或数据属性),包括特殊方法,如__getitem__ 或 _

记 suds 模块循环依赖的坑

下面是soa接口调用的核心代码 #! /usr/bin/python # coding:utf-8 from suds.client import Clientdef SoaRequest(wsdl,fnname,data): soaService = Client(wsdl).service soaRep = getattr(soaService,fnname)(data) return soaRep 问题就这样出现了: 我调用一个接口,总是报错,见下图: 之后Debug断点定位到suds模块

C++primer笔记2:变量和基本类型、字符串,向量和数组、表达式、类

第2章:变量和基本类型 char 8位 bool 未定义 short 短整型16 int 整型16 long 长整型32 long long 长整型64 C++11新定义的 float: 1个字 32位 6位有效位 double: 2个字 64位 10位有效位 long double: 10位有效位 带符号和不带符号的 unsigned 不带符号 仅仅表示大于0的 signed 带符号 大于,小于,0 基本字符集 :比特位 可寻址的最小内存块:字节 8比特 存储的基本单位 :字 32或64比特