1、简介:略

2、背景:略

3、目的:自我学习笔记

4、实现过程

(1)、画出流程图 如下:

路由活动分支下的条件语句为复杂表达式:

((account<200&&divisionresult.equals("1"))||(account>=200&&account<1000&&directorateresult.equals("1"))||(account>=1000&&VCresult.equals("1")&&directorateresult.equals("1")))

(2)发布流程

(3)在eclipse中新建Java项目,引入BPS client 端依赖的jar包, 这些jar包可以在:

http://product.primeton.com/download/attachments/14911104/Primeton_BPS_7.5_API_Libraries.zip  下载,

下载后解压,右键项目选择properties,然后将3rd 和bps 两个文件夹下的jar包导入新建的remotebpsclient工程。

(4)创建包含main方法的类BPSClient(注意要有包名),在src目录下创建uddi-address.xml。

uddi-address.xml:

<?xml version="1.0" encoding="UTF-8"?><uddi__address__list>  <uddi__address id="default"><name>localserver</name><logicName>default</logicName><type>remote</type><description>uddi-config.xml at " Work Space"</description><uddiHost>127.0.0.1</uddiHost><uddiPort>8080</uddiPort><uddiWebContext>default</uddiWebContext><uddiUserID>bps</uddiUserID><uddiPassword>000000</uddiPassword><uddiAdminPort>6200</uddiAdminPort></uddi__address>
</uddi__address__list>

BPSClient中代码:

package com.bps.test;import java.util.*;import com.eos.workflow.api.BPSServiceClientFactory;
import com.eos.workflow.api.IBPSServiceClient;
import com.eos.workflow.api.IWFWorkItemManager;
import com.eos.workflow.data.WFWorkItem;
import com.primeton.workflow.api.WFReasonableException;
import com.primeton.workflow.api.WFServiceException;public class BPSClient {public static void main(String[] args) throws WFServiceException, WFReasonableException {BPSServiceClientFactory.getLoginManager().setCurrentUser("1001", "tiger");IBPSServiceClient client = BPSServiceClientFactory.getDefaultClient();IWFWorkItemManager workItemManager = client.getWorkItemManager();//创建流程long  id =client.getProcessInstManager().createAndStartProcessInstance("com.primeton.test3.newworkflow","Process A","Process A");           System.out.println("流程实例ID为:"+id);//项目申请 资金为10WList<WFWorkItem> workItemList =workItemManager.queryNextWorkItemsByProcessInstID(id, false);WFWorkItem item = workItemList.get(0);Map<String,Object> map = new Hashtable<String,Object>();map.put("applicant", "tiger");map.put("projectname", "buybook");map.put("account",10);workItemManager.finishWorkItemWithRelativeData(item.getWorkItemID(), map, false);//事业部经理审核通过BPSServiceClientFactory.getLoginManager().setCurrentUser("1001", "tiger");workItemList =workItemManager.queryNextWorkItemsByWorkItemID(item.getWorkItemID(), false);item = workItemList.get(0);map = new Hashtable<String,Object>();map.put("divisionresult",1);workItemManager.finishWorkItemWithRelativeData(item.getWorkItemID(), map, false);//立项并结束BPSServiceClientFactory.getLoginManager().setCurrentUser("1001", "tiger");workItemList =workItemManager.queryNextWorkItemsByWorkItemID(item.getWorkItemID(), false);item = workItemList.get(0);workItemManager.finishWorkItem(item.getWorkItemID(), false);}}

(5)运行结果:

Java远程调用BPS流程实现流程运行简单示例相关推荐

  1. java 调用服务器文档,JAVA远程调用服务器端方法

    JAVA远程调用服务器端方法 内容精选 换一换 Windows Server 2012 R2操作系统弹性云服务器,本地使用远程桌面连接功能连接云服务器并启用redirected drive功能时,云服 ...

  2. javaweb调用python算法_请教怎么用java远程调用python? 多谢

    请问如何用java远程调用python? 谢谢! 本帖最后由 blackkettle 于 2015-05-07 13:00:41 编辑 比如有一台机器 A上安装了python, 另一台机器B要用jav ...

  3. Java远程调用WebService接口

    WebService简介 Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的.专门的第三方软件或硬件, 就可相互交换数据或集成.依据Web Service规范实施的应用之间, ...

  4. java使用2种方法操作liberoffice把word转pdf,pdf加水印,java远程调用Linux执行命令

    文章目录 libreoffice下载地址 安装 (第一种) java调用 (第二种 推荐) java调用Linux命令转pdf java远程连接Linux执行命令(少数情况) linux安装windo ...

  5. java远程调用笔记

    2019独角兽企业重金招聘Python工程师标准>>> 1.远程调用 常用的远程调用:webservice,二进制协议,Restful webservice:本质上就是http+so ...

  6. java过程调用语句_Java之流程控制语句

    一.Java条件语句(if...else) ifelse语法:                                              多重if语法:                 ...

  7. java远程调用linux的命令或者脚本

    为什么80%的码农都做不了架构师?>>>    转载请出自出处: http://eksliang.iteye.com/blog/2105862 Java通过SSH2协议执行远程She ...

  8. java 远程调用url_使用Java的URL/HttpURLConnection进行远程调用(POST请求)

    利用Java的HttpURLConnection进行远程url请求(调用远程接口) 测试类:请求类型为json,以post方式请求,利用OutputStream写入数据 实体类:public clas ...

  9. perl java远程调用函数调用_如何从Java调用Perl?

    Inline-Java是从Perl调用java的常用库,以及这个应该允许从Java调用Perl的post propose a org.perl.java模块. 但是,由于不同 JVM的JNI实现的不可 ...

最新文章

  1. 如何在PHP中保护数据库密码?
  2. 设计模式C++实现(7)——外观模式、组合模式
  3. Zend Server更新至6.2版本——虚拟主机全方位管理
  4. 第二章 数据的表示和运算 2.1.2 BCD码 [计算机组成原理笔记]
  5. QT+OpenCV综合示例:载入、读取图片
  6. Ethercat解析(十五)之程序框架
  7. 南京大学python_python split()函数
  8. CUDA ---- Hello World From GPU
  9. [毕设分享]基于华为eNSP的校园网设计和仿真模拟
  10. 新电脑配置不低却还是卡顿,你知道原因吗?
  11. Word文档压缩的方法
  12. java编写投票功能需求分析
  13. 如何查询域名whois?域名whois查询能获得哪些信息
  14. win10下装win7双系统_win 7 xp双系统的安装(或者win10) 教程
  15. 最新公路测量计算机,工地通路测电脑版
  16. CCNP精粹系列之二十九--发布bgp子网信息,推荐
  17. Linux游戏 0 A.D安装及汉化
  18. Cryptohack-Backpack Cryptography
  19. 练习------复仇者联盟(设置一个立体盒子)
  20. 基于stm32f407的智能风扇系统

热门文章

  1. 【26个字母和数字符号ASCII码对照表】
  2. win10系统无法加载操作系统且自动恢复失败的解决方案
  3. 北京甲骨文java_北京海淀甲骨文java企业项目
  4. App地推效果差?你可能缺少渠道效果统计
  5. K3+note+android+6.0,联想k3note升级Android 6.0教程[多图]
  6. Python笔记六、文件和数据格式化
  7. 股票自选股基本函数大全-5
  8. Oracle XE版安装与用户操作
  9. react根据中文获取拼音_解决 React 中的 input 输入框在中文输入法下的 bug
  10. 2020年中国中医针灸行业发展现状及未来发展前景分析,国家政策扶持,针灸行业发展前景良好「图」