admin管理员组文章数量:1663436
OA系统中服务管理的介绍
O2OA办公开发平台提供的服务管理可以让用户使用Javascript语言自由编写脚本,来实现与第三方系统的数据交互、数据同步、以及系统内的数据处理等工作,也可以编写OA系统内的定时任务脚本。
服务管理包括代理和接口两部分,接口是指O2OA平台通过脚本提供restful服务供外部系统或其他程序使用代理跟服务一样,也是通过脚本实现的一个功能块,但是它可以定时触发。
OA系统服务管理入口 :系统菜单→服务管理
需求
1、通过接口发起部门收文流程
2、定时代理配置
接口
“接口”可以提供Http服务让外部程序调用,使用Javascript编写,可以直接调用Java类。
入口
点系统菜单→服务管理→接口配置 打开
前面的课程中,我们创建过“部门收文”流程,现在我们来通过接口发起这个部门收文流程。
首先,创建一个 “startProcess” 接口:
this.entityManager; //实体管理器,一个java类,JPA实例管理类,用于跟后端交互
this.applications; //访问系统内服务,一个java类,调用后端接口
this.requestText//请求正文,调用接口时接收到的请求正文
this.request//请求,调用接口时接收到的请求对象
this.currentPerson//当前用户,调用这个接口的用户
this.response//响应对象,返回给调用方的数据。通过this.response.setBody(data)设置响应内容
thisanization; //组织访问,获取到o2oa平台内的组织类
this; //组织快速访问方法,获取到o2oa平台里组织的方法
this.service; //webSerivces客户端,调用wsdl
写入 发起流程 接口代码:
var appId = "6e075ac7-3eb3-436f-8ba1-e98f9b64349e"; var process = "4cca966f-3682-45c8-bddc-f2980654dc5e"; var data = JSON.parse(this.requestText); data.application = appId; data.process = process; var action = this.Actions.load("x_processplatform_service_processing"); action.WorkAction.assignCreate(//平台封装好的方法 data,//body请求参数 function (json) { //服务调用成功的回调函数, json为服务传回的数据 this.response.setBody("success!"); }.bind(this), function (json) { //服务调用失败的回调函数, json为服务传回的数据 this.response.setBody(json); }.bind(this) );
接口调用参数,data 参数为对应业务数据
{ "identity":"李秋水@2010200_HR_000012@I", "title":"接口调用收文标题", "processing": true, "data":{ "receivedFileNo": "123" } }
测试运行
允许访问的地址表达式:一个白名单,允许访问这个接口的终端ip
鉴权:是:调用时需要传入用户信息(token)才可以
否:不需要
注意:鉴权选择是和否,那么对应的调用接口地址是不一样的。
详细请参考:接口调用说明
调试里测试接口运行
postman模拟调用接口测试
调用地址:http://px.o2oa:20030/x_program_center/jaxrs/invoke/startProcess/execute
调用方法:POST
head:Content-Type:application/json; charset=utf-8
body 里填入调用参数
接口返回
现在我们到待办中看看流程是否已经成功发起
代理
“代理”是运行在服务器端的定时任务,使用Javascript编写,可以直接调用Java类。
入口
点系统菜单→服务管理→代理打开
触发时间
点击“定时任务cron表达式”可选择cron表达式进行触发时间的配置。cron表达式详解请自行百度。
我们这边就新建一个代理,每分钟 print一句欢迎信息
打开日志管理中,我们查看一下代理运行情况
在日志查看器中,我们就可以看到每分钟输出
以上就是使用开源的协同办公OA项目——O2OA开发平台与第三方系统进行数据交互的教程。
版权声明:本文标题:开源OA:手把手教你搭建OA办公系统(12)O2OA与第三方系统的数据交互实现 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1729997953a1218600.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论