WebService 代码创建E9流程

2023-10-31

下载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 中的代码修改成自己对应流程的代码
在这里插入图片描述

  • 创建流程的参数一级对应的错误码
    wsdl2java -d E:\code\ecology_zp\src\main\java -client http://localhost/services/WorkflowService?wsdla
  • 调用成功返回结果(流程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");//流程类型id
        workflowBaseInfo.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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WebService 代码创建E9流程 的相关文章

  • SpringBoot 启动时自动执行代码的几种方式

    一 java自身的启动时加载方式 static代码块 static静态代码块 在类加载的时候即自动执行 构造方法 在对象初始化时执行 执行顺序在static静态代码块之后 二 Spring启动时加载方式 PostConstruct注解 Po
  • C语言初步总结

    内容比较多 大家可以复制做一个文档 然后用得时候直接搜索就好了 非常方便 不用网络也可以使用 第二周的学习总结 1 对C语言的介绍与初步认识 C语言的产生与发展 FORTRAN 1957年 ALGOL 60 1960年 传统C或K R C
  • RS485在切换收发状态的时候收到0x00

    介绍一下测试背景 我使用单片机的TTL232 通过MAX485芯片转成RS485协议 但是遇到一个问题 MAX485芯片在从发送状态切换到接收状态的时候会收到一个0x00 很显然这是一个 假 数据 并不是真实接收到的数据 这个0x00着实有
  • C++中namespace detail或namespace internal的使用

    在很多开源代码中偶尔会使用名字为 detail 或 internal 的命名空间 如OpenCV的modules目录中 有些文件中使用了namespace detail 有些文件中使用了namespace internal 名为detail
  • Ceph 存储池命令 以及 数据压缩

    文章目录 一 存储池操作 1 1 常用命令 1 2 删除存储池 1 3 存储池配额 1 4 存储池可用参数 二 存储池快照 2 1 创建快照 2 2 验证快照 2 3 回滚快照 2 4 删除快照 三 数据压缩 3 1 启用压缩并指定压缩算法
  • Oracle ——删除表中重复记录

    为了方便 假设表名为Tbl 表中有三列col1 col2 col3 其中col1 col2是主键 并且 col1 col2上加了索引重复数据删除 1 通过创建临时表 把数据先导入到一个临时表中 然后删除原表的数据 再把数据导回原表 SQL语
  • 【PBR系列三】BRDF方程及渲染方程

    本文核心知识主要参照 现代计算机图形学入门 闫令琪课程课件PPT 后续光线追踪系列知识也源于此处 一 BRDF方程 通过上一部分所有辐射度量学各种概念的定义之后 我们可以从这样一个角度理解光线的反射 如下图所示 一个点 微分面积元 在接受到
  • 怎样安装NPM离线包

    因为一些 你懂的 原因 工作环境无法直接使用npm install联网安装npm包 稍微花了点时间研究了一下 Mark下来 有机会看源码再补充 最佳方案 别浪费时间了 最好还是在网络环境下把所需的包全部安装好 再想办法搬回来 尽管可以一个一
  • VMware Workstation 在此主机上不支持嵌套虚拟化。报错一秒解决

    VMware Workstation 在此主机上不支持嵌套虚拟化 这是由于VMware与Windows11自带的Hyper V冲突所导致的 简单的解决方法是 将虚拟机设置中的CPU虚拟化取消勾选 如图所示
  • Ubuntu 安装Google浏览器

    Ubuntu自带的浏览器是火狐浏览器 使用的时候多多少少有些不方便 这里安装Googel浏览器 下载 可以到 Ubuntu chrome去下载安装包 安装 首先到下载的根目录 cd Downloads sudo dpkg i google
  • Mybatis1.2 查询所有数据

    1 2 查询所有数据 1 2 1 编写接口方法 1 2 2 编写SQL语句 1 2 3 编写测试方法 1 2 4 起别名解决上述问题 1 2 5 使用resultMap解决上述问题 1 2 6 小结 如上图所示就页面上展示的数据 而这些数据

随机推荐