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

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

输出结果。

相关文章