兑现流程业务的跨平台对接,此例以json字符串格局传参

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(Service).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流程实例”接口文件BPM瑟维斯(Service)(Service).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

出口结果。

相关文章