一、功能需求

泛微e-cology可以在流程中调用Webservice接口实现与其他系统的联动等复杂功能。但是目前泛微文档中仅提供了调用的方法,但是没有关于接口的相关开发信息。

本次案例是用Python开发一个泛微e-cology 可以调用的Webservice接口。

二、所需要的库

pip install spyne

对于Python3

pip install spyne==2.13.4a1

三、代码实现

from spyne.protocol.soap importSoap11from spyne.server.wsgi importWsgiApplicationfrom spyne importApplication,rpc,ServiceBase,Integer,Unicode,StringclassHelloWorldService(ServiceBase):#rpc内包含了传入参数以及传出参数的类型。

#前半部分是传入参数,参数类型必须是String,传入参数可以定义多个。参数名一定要与OA中待传入的参数名一致。这里调用的是requestid

#_returns=String是传出参数,用以判断运行是否成功。

@rpc(String,_returns=String)defsay_hello(ctx,requestid ):print(requestid )return 'Succeed'application=Application([HelloWorldService],#命名空间 tns

tns='spyne.examples.hello',#传入类型Soap11(),千万不要验证,encodingStyle是不被支持的。

in_protocol=Soap11(),#传出类型Soap11()

out_protocol=Soap11()

)#本地测试运行,生产环境还是挂在Django下的

if __name__ == '__main__':#You can use any Wsgi server. Here, we chose

#Python's built-in wsgi server but you're not

#supposed to use it in production.

from wsgiref.simple_server importmake_server

wsgi_app=WsgiApplication(application)

server= make_server('0.0.0.0', 8000, wsgi_app)

server.serve_forever()

四、泛微OA中的设置

1、注册Webservice接口

2、绑定表单与接口

入口点:集成中心--流程流传集成

参数值可以点击主表、明细表中字段 获取。但是参数值的名字,如此处的$requestid$必须和参数名requestid一致。

返回值必须与函数的返回值一致,这里设置的Succeed。

3、流程节点中附加操作

可以在节点前或者节点后附加操作

4、测试提交流程

流程提交至下一个节点说明接口运行成功。

如果运行失败会提示接口运行失败,不会提交到下一个节点。

webservice python开发接口_基于Python的Webservice开发(四)-泛微OA的SOAP接口相关推荐

  1. 泛微OA节点执行接口实现

    泛微OA节点执行接口实现 该接口主要实现在流程的流转当中,实时通过自定义的动作去操作异构系统的数据或者处理其他一些特定的业务,在流程的节点后.出口和节点前都可以定义这样的自定义动作. 1. 接口实现方 ...

  2. python网络安全毕业设计_基于Python的网络爬虫系统的设计与实现

    2018 年第 12 期 信息与电脑 China Computer&Communication 软件开发与应用 基于 Python 的网络爬虫系统的设计与实现 刘 杰 葛晓玢 闻顺杰 (铜陵职 ...

  3. 基于python的微信公众号开发教程_基于python的微信公众号开发教程

    应广大python学员的期盼,九宝老师精心制作的"基于python的微信公众号开发"视频教程即将上线. 该课程秉承九宝培训一贯的"简单.高效.快速"的讲课原则, ...

  4. 用python做炒股软件-同花顺有python接口_基于python的炒股软件

    股票详细数据 怎么获得股市数据针对股票等金融数据的获取,python提供了一个非常实用的模块-tushare,自动完成了数据从采集.清洗到存储的全过程,可以极大减轻金融分析人员的工作量,下面我简单介绍 ...

  5. python生成json接口_基于python的Flask框架写json接口并且结合eolinker进行接口测试

    一.前言 很多时候为了提高软件开发的效率,后端程序人员理想状态下应该编写程序测试接口供前端程序人员进行测试,以便前端的开发.笔者由于项目的需求近期尝试学习了一下测试接口的编写,以Python+Flas ...

  6. python自动化算法_基于Python语言和Abaqus平台的边坡可靠度计算自动化算法开发

    2.2 求解过程 求解过程包括7步,如 图 2 图 2 自动化程序的求解过程 Fig. 2 The solving part of the automation program 1) Python形成 ...

  7. python 放射 水平_基于Python的放射性核素大气扩散程序初步开发与验证

    龙源期刊网 http://www.qikan.com.cn 基于 Python 的放射性核素大气扩散程序初 步开发与验证 作者:刘朋杰,张旖旎,刘天元 来源:<科学与财富> 2018 年第 ...

  8. python名片识别_基于Python的名片识别接口调用代码实例

    基于Python的名片识别接口调用代码实例 代码描述:基于Python的名片识别接口调用代码实例 #!/usr/bin/python # -*- coding: utf-8 -*- import js ...

  9. python遥感图像处理_基于Python的矿山遥感监测系统开发方法

    目前,很多学者都是从宏观上讨论遥感和GIS一体化集成的可能性及集成的方法,但这些研究在GIS和RS方向只是对Python集成研究的思路或某一功能的介绍,并没有一个基于Python开发的集成GIS与RS ...

最新文章

  1. 程序员的幸福:上个月被裁拿赔偿,这个月找到涨薪50%的工作
  2. linux主机密钥管理,管理ssh主机和私钥的最佳方法
  3. Android系统的进程分类
  4. 在无人驾驶汽车大规模应用以前,自动驾驶叉车已经逐步潜入制造业
  5. mysql-电商库演练1-创建数据-基本查询练习
  6. c++ 线程池_JAVA并发编程:线程池ThreadPoolExecutor源码分析
  7. 设计灵感|想让海报设计更丰富?可以试试重复
  8. PHP如何获取用户IP地址
  9. Leetcode199二叉树的右视图(宽搜)
  10. Eclipse的版本、下载网址和安装
  11. c语言 sub(),C语言考试试题
  12. TiDB Data Migration (DM)介绍
  13. 在QQ远程协助为什么键盘无法输入?一起来学习!
  14. 如果公司不用绩效考核,用什么
  15. java公路赛_为什么Java公路车总被黑?
  16. IDEA必装插件-Gyro
  17. Unity项目总结(已完成17项,持续更新ing,含商城、塔防、背包、动画、坦克大战等)
  18. 微信调试、手机QQ调试、Qzone之x5内核inspect调试解决方案
  19. pca百分比取多少比较好_主成分分析(PCA)的详细解释
  20. PHP的bz2压缩扩展工具

热门文章

  1. javascript精雕细琢(三):作用域与作用域链
  2. codeforces 816 B. Karen and Coffee(思维)
  3. oracle 常见错误
  4. 转一些SIFT代码链接
  5. mysql 分组字符串链接_MySQL字符串连接函数 ,分组连接函数
  6. 如何搭建python框架_从0到1告诉你搭建完整Python+requests接口自动化测试框架!
  7. 怎么将py文件转成dll_怎样将PDF文件转成CAD图纸?
  8. JavaScript获取本机浏览器UA助力Python爬取糗事百科首页
  9. Python查找Word文件中红色和加粗的文字(附元宵节送书活动中奖名单)
  10. 服务器部署ssl证书,Apache服务器SSL证书部署