必威网站H3 BPM 跨平台表单发起详解。H3 BPM 跨平台表单发起详解。

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

出口结果。

相关文章