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

by admin on 2018年10月5日

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地图