H3 BPM 跨平台表单发起详解。H3 BPM 跨平台表单发起详解。

by admin on 2018年10月8日

1.1 目的

  为方便技术对接服务,实现流程业务的跨平台对接,给出指引和援文档。

 

1.1 目的

  为好技术对接服务,实现流程业务的跨平台对接,给来指引和扶助文档。

 

跨越平台以Java为例调用.NET BPM表单流程全经过

越平台以Java为例调用.NET BPM表单流程全经过

2.1 双方系统确定接口协议规则

    通信协议:基于soap通信utf-8编码,webservices访问。令牌、鉴权等(不知什么来头鉴权未做说明,理论及一定是需要的)用于安全证明。

2.1 双方系统确定接口协议规则

    通信协议:基于soap通信utf-8编码,webservices访问。令牌、鉴权等(不知什么原因鉴权未举行验证,理论及一定是急需的)用于安全认证。

2.2 传参要求

    按照接口文档实现方式传参赋值。

2.2 传参要求

    按照接口文档实现方式传参赋值。

2.3 .NET代码实现

坐“启动H3流程实例”接口文件BPMService.asmx中之“StartWorkflow”方法吧条例说明。

 首先确定参数传送形式,此例以json字符串形式传参,出参。

BPM服务端实现:通过strjosn去做序列化转换成DataItemParam对象,将污染参包进行分析,复制成BPM需要之参数格式形式,通过发起实例后归实例发起结果。代码如下

亚洲必赢手机 1

 

 /// <summary>

        /// 启动H3流程实例

        /// </summary>

        /// <param
name=”workflowCode”>流程模板编码</param>

        /// <param
name=”userCode”>启动流程的用户编码</param>

        /// <param
name=”finishStart”>是否得了第一个走</param>

        /// <param
name=”paramValues”>流程实例启动初始化数据项集合</param>

        /// <returns></returns> 

        [System.Web.Services.Protocols.SoapHeader(“authentication”)]

        [WebMethod(Description = “启动H3流程实例”)]

        public string StartWorkflow(

            string workflowCode,

            string userCode,

            bool finishStart,

            string paramValues)

        {

 

            paramValues
= “[{ItemName:’苹果’,ItemValue:5.5},{ItemName:’橘子’,ItemValue:2.5},{ItemName:’柿子’,ItemValue:16}]”;

             List<DataItemParam> param = new List<DataItemParam>();

             param = StrJsontoObj.JSONStringToList<DataItemParam>(paramValues);

             BPMServiceResult result =
startWorkflow(workflowCode, userCode, finishStart,
param);

             var rel = new {
Success=result.Success,

                             Message=result.Message,

                            data= new{

                                     instanceId=result.InstanceID,

                                     WorkItemID=result.WorkItemID,

                                     WorkItemUrl=result.WorkItemUrl
 

                                    }

                           };

             return GetJson(rel);

        }

        public static string GetJson(object obj)

        {

            string str;

            try

            {

                str =
Newtonsoft.Json.JsonConvert.SerializeObject(obj);

            }

            catch

            {

                str = “”;

            }

            return str;

        }

分析字符串,返回需要之字符串

亚洲必赢手机 2

 

Josn字符串序列化与对象转换

亚洲必赢手机 3

 

生参格式调整

亚洲必赢手机 4

亚洲必赢手机 5

回来结果

亚洲必赢手机 6

 

 数据库实例

亚洲必赢手机 7

 

流程发起

 

2.3 .NET代码实现

以“启动H3流程实例”接口文件BPMService.asmx中的“StartWorkflow”方法呢例说明。

 首先确定参数传送形式,此例以json字符串形式传参,出参。

BPM服务端实现:通过strjosn去开序列化转换成DataItemParam对象,将污染参包进行辨析,复制成BPM需要的参数格式形式,通过发起实例后赶回实例发起结果。代码如下

亚洲必赢手机 8

 

 /// <summary>

        /// 启动H3流程实例

        /// </summary>

        /// <param
name=”workflowCode”>流程模板编码</param>

        /// <param
name=”userCode”>启动流程的用户编码</param>

        /// <param
name=”finishStart”>是否终止第一单移动</param>

        /// <param
name=”paramValues”>流程实例启动初始化数据项集合</param>

        /// <returns></returns> 

        [System.Web.Services.Protocols.SoapHeader(“authentication”)]

        [WebMethod(Description = “启动H3流程实例”)]

        public string StartWorkflow(

            string workflowCode,

            string userCode,

            bool finishStart,

            string paramValues)

        {

 

            paramValues
= “[{ItemName:’苹果’,ItemValue:5.5},{ItemName:’橘子’,ItemValue:2.5},{ItemName:’柿子’,ItemValue:16}]”;

             List<DataItemParam> param = new List<DataItemParam>();

             param = StrJsontoObj.JSONStringToList<DataItemParam>(paramValues);

             BPMServiceResult result =
startWorkflow(workflowCode, userCode, finishStart,
param);

             var rel = new {
Success=result.Success,

                             Message=result.Message,

                            data= new{

                                     instanceId=result.InstanceID,

                                     WorkItemID=result.WorkItemID,

                                     WorkItemUrl=result.WorkItemUrl
 

                                    }

                           };

             return GetJson(rel);

        }

        public static string GetJson(object obj)

        {

            string str;

            try

            {

                str =
Newtonsoft.Json.JsonConvert.SerializeObject(obj);

            }

            catch

            {

                str = “”;

            }

            return str;

        }

剖析字符串,返回需要的字符串

亚洲必赢手机 9

 

Josn字符串序列化与目标转换

亚洲必赢手机 10

 

有参格式调整

亚洲必赢手机 11

亚洲必赢手机 12

回去结果

亚洲必赢手机 13

 

 数据库实例

亚洲必赢手机 14

 

流程发起

 

2.4  Java代码实现

下axis架包实现对接.NET服务(方法很多未唯,仅看成贯彻范例)

亚洲必赢手机 15

 

办法实现

亚洲必赢手机 16

 

办法参数说明

亚洲必赢手机 17

 

Soap表头说明

亚洲必赢手机 18

亚洲必赢手机 19

出口结果。

2.4  Java代码实现

运用axis架包实现对接.NET服务(方法很多无唯,仅看成贯彻范例)

亚洲必赢手机 20

 

计实现

亚洲必赢手机 21

 

计参数说明

亚洲必赢手机 22

 

Soap表头说明

亚洲必赢手机 23

亚洲必赢手机 24

输出结果。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图