WebService 代码创建E9流程
下载CXF
http://cxf.apache.org/download.html
生成客户端代码
tar -zxvf apache-cxf-3.2.7.tar.gz
cd apache-cxf-3.2.7/bin wsdl2java
-client -server -impl -p 代码包路径 -d 代码生成路径 wdsl服务url或者wdsl文件路径
说明:先启动泛微E9,访问 wsdl 是不是可以成功访问
http://127.0.0.1:80/services/WorkflowService?wsdl
端口写自己的访问E9的端口,展示效果为:
样例:
wsdl2java -d E:\code\createWorkflow\src -client http://127.0.0.1:80/services/WorkflowService?wsdl
idea 项目打开效果
编写测试代码
- 参考网页
- 流程接口文档
根据流程3 中的代码修改成自己对应流程的代码
- 创建流程的参数一级对应的错误码
- 调用成功返回结果(流程id):
- 登陆创建的账号查看效果
具体代码
import cn.com.weaver.services.webservices.WorkflowService;
import weaver.workflow.webservices.*;/*** @program: ecology_zp* @author: Mr.zeng* @create: 2020-12-16 11:53* 创建流程测试**/
public class DoCreateRequestTest {public static void main(String[] args) {try{new DoCreateRequestTest().execute1();}catch (Exception e){e.printStackTrace();}}public void execute1() {ObjectFactory factory = new ObjectFactory();WorkflowService service = new WorkflowService();WorkflowRequestInfo workflowRequestInfo = new WorkflowRequestInfo();//工作流程请求信息int userid = 21;//用户ID 数据库中用户id// workflowRequestInfo.setRequestId(String.valueOf(1918557));//流程请求ID-创建流程时自动产生 不需要传此项workflowRequestInfo.setCanView(true);//显示workflowRequestInfo.setCanEdit(true);//可编辑workflowRequestInfo.setRequestName(factory.createWorkflowRequestInfoRequestName("流程请求标题-webservice-test-axis2"));workflowRequestInfo.setRequestLevel(factory.createWorkflowRequestInfoRequestLevel("0"));//请求重要级别 0:正常 1:重要 2:紧急workflowRequestInfo.setCreatorId(factory.createWorkflowRequestInfoCreatorId("21"));//创建者ID 创建流程时为必输项WorkflowBaseInfo workflowBaseInfo = new WorkflowBaseInfo();//工作流信息workflowBaseInfo.setWorkflowId(factory.createWorkflowBaseInfoWorkflowId("22"));//流程ID workflowBaseInfo.setWorkflowName(factory.createWorkflowBaseInfoWorkflowName("测试webservice流程"));//流程名称// workflowBaseInfo.setWorkflowTypeId("1951");//流程类型idworkflowBaseInfo.setWorkflowTypeName(factory.createWorkflowBaseInfoWorkflowTypeName("测试"));//流程类型名称workflowRequestInfo.setWorkflowBaseInfo(factory.createWorkflowRequestInfoWorkflowBaseInfo(workflowBaseInfo));/****************main table start*************/WorkflowMainTableInfo workflowMainTableInfo = new WorkflowMainTableInfo();//主表WorkflowRequestTableRecord[] workflowRequestTableRecord = new WorkflowRequestTableRecord[1];//主表字段只有一条记录WorkflowRequestTableField[] workflowRequestTableFields = new WorkflowRequestTableField[1];//主的4个字段workflowRequestTableFields[0]= new WorkflowRequestTableField();workflowRequestTableFields[0].setFieldName(factory.createWorkflowRequestTableFieldFieldName("fj"));//附件workflowRequestTableFields[0].setFieldType(factory.createWorkflowRequestTableFieldFieldType("http:baidu_sylogl.gif"));//http:开头代表该字段为附件 多附件用baidu_sylogl.gif|baidu_sylog1l.gif分隔workflowRequestTableFields[0].setFieldValue(factory.createWorkflowRequestTableFieldFieldValue("http://www.baidu.com/img/fddong_e2dd633ee46695630e60156c91cda80a.gif"));workflowRequestTableFields[0].setView(true);workflowRequestTableFields[0].setEdit(true);ArrayOfWorkflowRequestTableField arrayOfWorkflowRequestTableField=new ArrayOfWorkflowRequestTableField();arrayOfWorkflowRequestTableField.getWorkflowRequestTableField().add(workflowRequestTableFields[0]);WorkflowRequestTableRecord workflowRequestTableRecord1 = new WorkflowRequestTableRecord();workflowRequestTableRecord1.setWorkflowRequestTableFields(factory.createWorkflowRequestTableRecordWorkflowRequestTableFields(arrayOfWorkflowRequestTableField));ArrayOfWorkflowRequestTableRecord arrayOfWorkflowRequestTableRecord = new ArrayOfWorkflowRequestTableRecord();arrayOfWorkflowRequestTableRecord.getWorkflowRequestTableRecord().add(workflowRequestTableRecord1);workflowMainTableInfo.setRequestRecords(factory.createWorkflowMainTableInfoRequestRecords(arrayOfWorkflowRequestTableRecord));workflowRequestInfo.setWorkflowMainTableInfo(factory.createWorkflowRequestInfoWorkflowMainTableInfo(workflowMainTableInfo));// ArrayOfWorkflowDetailTableInfo arrayOfWorkflowDetailTableInfo = new ArrayOfWorkflowDetailTableInfo();
// arrayOfWorkflowDetailTableInfo.getWorkflowDetailTableInfo().add(workflowDetailTableInfo[0]);
// arrayOfWorkflowDetailTableInfo.getWorkflowDetailTableInfo().add(workflowDetailTableInfo[1]);
// workflowRequestInfo.setWorkflowDetailTableInfos(factory.createWorkflowRequestInfoWorkflowDetailTableInfos(arrayOfWorkflowDetailTableInfo));/****************detail table end*************/String response = service.getWorkflowServiceHttpPort().doCreateWorkflowRequest(workflowRequestInfo,userid);System.out.println("返回结果:"+response);}}
ps:用户id、流程id在数据库中查,名称和类型在表单中都可以看到
org.codehaus.xfire.jaxws.Provider
WebService 代码创建E9流程相关推荐
- 【JVM】Java对象创建的流程步骤
· 本文摘要 · 罗列Java创建对象的各种方式: · 讲解Java对象创建的流程步骤: 一.Java创建对象的各种方式 · 1. 用关键字new,老少皆知的方法:StringBuffer sb = ...
- WebService 的创建,部署和使用
WebService,即Web服务,能使得运行在不同机器上的不同应用无须借助,专门的第三方软件或硬件,就可相互交换数据或集成. 第一次选择WebService,是为了替代数据库远程连接.我们都知道当S ...
- 开源项目Hopsan代码梳理、流程分析
Hosan开源项目是液压.电力等行业的仿真开源软件,由瑞典林平大学开发,可以仿真电力.液压等.更具体的了解,请参考:<Hopsan -- 液压.电力等行业的仿真开源软件>. Hosan开源 ...
- git 代码推送流程_Git 101:一个让您开始推送代码的Git工作流程
git 代码推送流程 I'm going to explain Git the way I wish someone had explained to me back when I was first ...
- vs12新建ajax,VS2012下WebService 的创建,部署和使用
WebService,即Web服务,能使得运行在不同机器上的不同应用无须借助,专门的第三方软件或硬件,就可相互交换数据或集成. 第一次选择WebService,是为了替代数据库远程连接.我们都知道当S ...
- SylixOS线程创建的流程分析
概述 本文档的主要内容是分析SylixOS线程创建的流程,详细介绍了SylixOS的线程创建函数API_ThreadCreate. 环境和参数检查 在SylixOS中,线程的创建函数不能在中断中调用. ...
- 【高级PDF库】上海道宁为您提供先进的.Net库,完全控制您的PDF创建工作流程,在WEB或任何服务器系统上创建动态PDF
Pdfium.Net SDK是 先进的.Net library 用于生成.操作和查看 可移植文档格式的文件 道宁专注于软件工具经销 为您带来高级PDF库 可完全控制您的PDF创建工作流程 提供高级c# ...
- 解决POI事件驱动模式读取不到Java代码创建的Excel表格数据问题
场景 使用POI官网上的事件驱动模式的示例方法,读取单sheet单次创建的Excel表格文件(.xlsx),Microsoft Excel和WPS Excel创建的表格文件可以正常读取数据,但是jav ...
- 数字签名(代码签名)流程和数字签名的验证
数字签名(代码签名)流程 数字签名(代码签名)流程 Authenticode : 这里翻译为数字认证代码. code sign : 字面的翻译为代码签名,但是通常的我们称为数字签名,以下的文中均称为 ...
最新文章
- 方程组求解matlab实现(朴素高斯求解、LU分解、雅可比迭代方法、高斯-塞德尔方法、连续过松弛(SOR))
- 【Matlab】绘制3D 3维图
- 通过实际的例子,介绍 SAP ABAP 里的 Repository Information System 的使用技巧
- java 控制 crt_secureCRT关闭连接自动关闭tomcat服务
- c#语言float转换int,C#Float表达式:将结果float转换为int时的奇怪行为
- 每天CookBook之JavaScript-059
- python按行读取文件取消空白行_python去掉空白行的多种实现代码
- 图表中如何实现动态变更分类轴与系列值
- caj文件浏览器_史上最全:提高律师工作效率必不可少的27款浏览器插件
- perl脚本中的特殊字符也与V字符串
- css3弹性盒模型flex快速入门与上手(align-content与align-items)
- Maple公式推导教程
- 西门子cnc sinumerik_2020邯郸cnc加工中心编程要多久就是工厂傅
- 腾讯linux集成化界面,腾讯TOS系统今日开启内测:界面扁平化风格
- Keepserver 与 IFIX OPC PowerTool相互关联
- SQL 根据身份证号码提取出出生日期
- 浅聊古代————汉朝
- 真分数转埃及分数的和 (贪心)
- 记一次Electron 桌面应用实现调用打印机打印小票功能
- 解决rimraf使用时提示unexpected token “.”
热门文章
- GoFrame v1.6.0 发布,Go 应用开发框架
- yum -y install php-mysql 版本冲突
- jQuery中的read 和JavaScript中 的onload函数的区别
- 《机器人编程实战》一一1.2 给机器人指令
- 两化融合:唐山探路重工业城市智慧转型
- cursor游标(mysql)
- lspci | grep -i ethernet
- java提示单个cass怎么办,求助解决hibernate报错,java.lang.casscastexception
- 使用 IntraWeb (29) - 基本控件之 TIWAutherList、TIWAutherINI、TIWAutherEvent
- 三维点云学习(4)1- Spectral的理论推导与解释