关键词:服务集成,系统集成,流程启动,通过服务启动流程,服务包装

O2OA允许用户自行修改源码或者增加源码来扩展系统服务,也可以包装功能更强的业务服务。本文主要介绍如何在Java代码中通过接口从第三方应用系统启动O2OA中的业务流程(通过第三方调用启动流程)。


第一步:单点登入

一、创建SSO配置,请参考组织管理里中的SSO管理
二、通过下面代码获取token.

String token = ""; 

//单点登入
String path = "http://127.0.0.1:20020/x_organization_assemble_authentication/jaxrs/sso"; 
long time = new Date().getTime(); 
String login_uid = "test"; 
String sso_key = "12345678"; 
String xtoken = null;

try { xtoken = Crypto.encrypt( login_uid + "#" + time, sso_key ); 
     System.out.println(xtoken); } 
catch (Exception e1) { 
    e1.printStackTrace(); 
}

String string = "{\"token\": "+xtoken+", \"client\": \"unicom\"}";
String  str =  HttpClientUtils.getInstance().sendPost(path,string);
try {
    JSONObject jsonObj = (JSONObject)(new JSONParser().parse(str));
    JSONObject data = (JSONObject) jsonObj.get("data");
    System.out.println(data.get("token"));
    token = (String) data.get("token");
} catch (ParseException e) {
  e.printStackTrace();
}

第二步:创建流程

一、设置x-token

......
path = "http://127.0.0.1:20020/x_processplatform_assemble_surface/jaxrs/work/process/e51984cb-bce9-42b3-9b6a-20fc1ef31676";
JSONObject result = new JSONObject();  
result.put("latest", false);  
result.put("title", "演示系统2019-10-19wwww");  
result.put("identity", "test@a2b7b360-2685-4989-ae70-77a2f207c6d7@I"); 

JSONObject department = new JSONObject();
department.put("subject", "测试20191018java启动wwww");
result.put("data", department);  

String strflow =  HttpClientUtils.getInstance().sendPost2(path,token,result.toJSONString());
String work = "";

JsonParser parser = new JsonParser(); 
JsonObject object = null; 
object =(JsonObject) parser.parse(strflow);
JsonArray value =object.getAsJsonArray("data");
object = value.get(0).getAsJsonObject(); 
work= object.get("work").getAsString();
......

第三步:上传附件

一、设置x-token
二、设置workid

//上传附件
try {
    Map<String,String> uploadParams = new LinkedHashMap<String, String>();

    uploadParams.put("fileName", "云化统一信息平台二期演示视频解说词0515v3.docx");
    uploadParams.put("site", "attachment");
    uploadParams.put("extraParam","");

    Map<String, String> headMap = new HashMap<String, String>();
    headMap.put("Cookie", "x-token=" + token);
    headMap.put("accept", "*/*");
    headMap.put("connection", "Keep-Alive");
    headMap.put("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");

    String strurl = "http://127.0.0.1:20020/x_processplatform_assemble_surface/jaxrs/attachment/upload/work/" + work;
    HttpClientUtils.getInstance().uploadFileImpl( strurl, "F:\\云化统一信息平台二期演示视频解说词0515v3.docx", "file", uploadParams, headMap);

} catch (Exception e) {
  e.printStackTrace();
}

推荐文章:

服务集成-使用平台内置用户数据创建临时业务数据
2021-03-15
O2OA允许用户对个人设置信息进行定制,可以将部分业务数据存储于个人信息之中。本文主要介绍如何使用平台内置用户数据创建临时业务数据信息。
常见问题-如何通过脚本调用系统内服务
2021-02-07
varapplications=this.applications;varserviceRoot="x_query_assemble_surface";vart
论坛管理
2021-02-19
O2OA平台论坛管理为企业提供了一个员工公开交流的场所,经过配置后,论坛可以拥有丰富的栏目、版块,可以进行版块的权限设置,可见性,发贴回复权限设置。
消息提醒-如何实现收到待办给QQ发送提醒?
2021-03-11
一、前期准备一台windows服务器(用于运行QQ机器人)下载QQ机器人框架下载地址:https://lanzous.com/ilzGNkb95ej下载http
开发知识-React篇:在React应用中集成O2OA
2021-02-07
  在前面的章节中,我们介绍了两种在O2OA中使用React开发应用的方式,已经可以满足绝大多数的情况了。如果您考虑完全脱离O2的web服务器,自己搭建web服
会议管理
2021-02-19
O2OA会议管理系统可以对组织的会议室,会议申请进行管理,会议申请也可以关联相关的流程,表单和流程可以由开发者根据企业需求自行定义。
神经网络
2021-02-19
O2OA支持配置神经网络模型,协助完成办公系统中的信息推荐,意见选择等功能。它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型,通过创建神经
开发知识-中标麒麟安装达梦数据库(DM8)
2021-02-07
环境说明操作系统版本:NeoKylinLinuxAdvancedServerreleaseV7Update6(Chromium)1.前期准备工作1.1数据库下载
日志管理-平台日志文件说明
2021-02-25
O2OA平台有几种查看日志的方式,日志文件和日志查看器。本篇主要介绍如何将在O2OA中查询日志。
业务开发-组织架构-顶级组织及创建
2021-02-26
O2OA提供多级组织架构设置能力,用户可以在系统内设置集团、分公司、部门、小组等多级企业组织结构来满足办公需要。本文主要介绍如何在O2OA中创建顶组织。

results matching ""

    No results matching ""