阅读:3435
回复:4
|
[已解决]在代码里怎么调用数据模型里配置的业务方法(带参数的)
InstanceData data = new InstanceData(_Engine, "2b9c4856-1455-4cb2-95da-b86efa521b8d", OThinker.Organization.User.SystemUserID);
BizStructure bsparams = new BizStructure(); ItemSchema ischema = new ItemSchema(); data.BizObject.Schema.Invoke(null, null, "", null, "SendMail18",null); Invoke这个方法怎么调用数据模型里配置的业务方法 业务方法名称为:SendMail18 业务方法与业务服务方法的映射列表里的 业务服务 SendMailServers 方法名称 SendMailUserArr |
1楼#
发布于:2017-02-17 16:30
帖内置顶 – H3BPM – 2017-02-20 15:44
/// <summary>
/// 后台调用业务服务 /// </summary> /// <param name="serviceCode">业务服务编码</param> /// <param name="serviceMethod">方法名称</param> /// <param name="dicParams">参数字典</param> public static void ExecuteBizNonQuery(string serviceCode, string serviceMethod, Dictionary<string, object> dicParams) { // 获得业务方法 OThinker.H3.BizBus.BizService.MethodSchema method = WorkSheet.AppUtility.Engine.BizBus.GetMethod(serviceCode, serviceMethod); // 获得参数列表 OThinker.H3.BizBus.BizService.BizStructure param = null; if (dicParams != null) { // 填充业务方法需要的参数 param = H3.BizBus.BizService.BizStructureUtility.Create(method.ParamSchema); foreach (var item in dicParams) { param[item.Key] = item.Value; } } // 调用方法返回结果 OThinker.H3.BizBus.BizService.BizStructure ret = null; try { // 调用方法,获得返回结果 ret = WorkSheet.AppUtility.Engine.BizBus.Invoke( new BizBus.BizService.BizServiceInvokingContext( AdminId, serviceCode, method.ServiceVersion, method.MethodName, param)); } catch (Exception ex) { // 调用错误日志记录 WorkSheet.AppUtility.Engine.LogWriter.Write("业务服务调用错误:" + ex); } } |
|
2楼#
发布于:2017-02-17 13:41
|
|
|
3楼#
发布于:2017-02-17 16:30
/// <summary>
/// 后台调用业务服务 /// </summary> /// <param name="serviceCode">业务服务编码</param> /// <param name="serviceMethod">方法名称</param> /// <param name="dicParams">参数字典</param> public static void ExecuteBizNonQuery(string serviceCode, string serviceMethod, Dictionary<string, object> dicParams) { // 获得业务方法 OThinker.H3.BizBus.BizService.MethodSchema method = WorkSheet.AppUtility.Engine.BizBus.GetMethod(serviceCode, serviceMethod); // 获得参数列表 OThinker.H3.BizBus.BizService.BizStructure param = null; if (dicParams != null) { // 填充业务方法需要的参数 param = H3.BizBus.BizService.BizStructureUtility.Create(method.ParamSchema); foreach (var item in dicParams) { param[item.Key] = item.Value; } } // 调用方法返回结果 OThinker.H3.BizBus.BizService.BizStructure ret = null; try { // 调用方法,获得返回结果 ret = WorkSheet.AppUtility.Engine.BizBus.Invoke( new BizBus.BizService.BizServiceInvokingContext( AdminId, serviceCode, method.ServiceVersion, method.MethodName, param)); } catch (Exception ex) { // 调用错误日志记录 WorkSheet.AppUtility.Engine.LogWriter.Write("业务服务调用错误:" + ex); } } |
|
4楼#
发布于:2017-02-17 16:30
以上是后台调用业务服务方法的代码,请参考这个代码
|
|
5楼#
发布于:2017-02-20 11:03
|
|