Java远程调用BPS流程实现流程运行简单示例

来源:互联网 发布:数据清洗什么意思 编辑:程序博客网 时间:2024/05/19 03:25

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)运行结果:




0 0