完成流程业务的跨平台对接

1.1 目的

  为便于技能对接服务,实现流程业务的跨平台对接,给出指导和救助文书档案。

 

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

2.1 两方系统鲜明接口公约准绳

    通讯合同:基于soap通讯utf-8编码,webservices访问。令牌、鉴权等(不知怎么着来头鉴权未做验证,理论上自然是索要的卡塔尔用于安全认证。

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.4  Java代码落成

行使axis架包实现对接.NET服务(方法相当多不唯生机勃勃,仅作为贯彻轨范卡塔 尔(阿拉伯语:قطر‎

图片 8

 

艺术达成

图片 9

 

方法参数表达

图片 10

 

Soap表头表达

图片 11

图片 12

输出结果。

相关文章