文档首页> 应用魔方 AppCube> 常见问题> 服务编排> 服务编排、BPM流程编排中引用的资源无法编辑
更新时间:2022-04-01 GMT+08:00
分享

服务编排、BPM流程编排中引用的资源无法编辑

问题描述

已获取锁状态下,服务编排、BPM流程编排中引用的资源无法编辑。

如下图所示,服务编排“gz__FlowA”(gz为命名空间)中调用其他服务编排“gz__FlowB”,“gz__FlowA”处于已获取锁状态下,无法编辑调用资源“gz__FlowB”的入参和出参。

图1 服务编排中无法编辑

解决方法

最新版本AppCube的服务编排、BPM流程编排只允许调用当前应用下的资源(例如脚本、服务编排、对象),不允许跨应用调用资源。

若老版本中创建的服务编排、BPM流程编排调用了不同应用下的资源,不会影响运行态效果,在开发环境的服务编排、BPM流程编排中无法编辑其调用的资源。

问题描述示例中,若需要可编辑“gz__FlowB”出参入参,处理思路为:若多个应用需要调用某个共同的资源,建议在BO中新建公共资源,在应用里内部依赖或者外部依赖导入BO,再调用该资源。具体步骤如下:
  1. 创建BO,将需要调用的资源封装为BO中的公共接口。
    1. 在AppCube开发环境首页的“项目”页签下单击“行业应用”,再单击“创建BO”。

      创建一个BO,用于将脚本或者服务编排等资源进行封装,提供给其他服务调用。

    2. 填写BO基本信息,例如标签和名称为“BOTest”,单击“创建”。
    3. 在BO中新建需要调用的资源“gz__FlowC”,该资源与需要调用的资源“gz__FlowB”定义相同。新建后单击编辑器上方启用图标。

      新建“gz__FlowC”后,该资源可见性默认为“公开”,表示在其他应用中可调用该资源。

    4. 参考图2图3在BO中新建公共接口,该接口用于封装“gz__FlowC”。

      在BO开发页面中,单击左下角的“服务”新建API时,需要指定版本号,且接口区分“公共接口”和“私有接口”。

      “公共接口”页面创建接口是提供REST接口给第三方系统或者内部系统调用;“私有接口”页面创建接口是提供SDK接口给内部系统调用。这里选择“公共接口”。

      图2 新建公共接口
      图3 封装“gz__FlowC”
  2. 进入服务编排所属的应用,引入BO,在服务编排中使用BO图元调用接口,从而调用资源。
    1. 进入服务编排“gz__FlowA”所在的应用开发工作台,单击“Internal dependencies”或“External dependencies”旁的“+”,选择“BO服务”,添加“BOTest”。
      添加后在该应用的服务编排中才可以调用BO服务。

      “Internal dependencies”为内部依赖文件夹,导入的BO服务或者Native服务,在打包上层应用时也会随应用打包发布出去;“External dependencies”为外部依赖文件夹,导入的BO服务或者Native服务,在打包上层应用时不会打包出去。

      图4 应用中添加BO服务
      图5 选择BO
    2. 参考图6在服务编排“gz__FlowA”改用BO图元,调用该公共接口,注意API类型选择“REST”。
      在服务编排“gz__FlowA”编辑器页面左侧选择“BO”,从“Others”下拖拽1.b定义的“BOTest”至画布,在画布中选中BO图元,单击,在“BO”页面进行配置,使用BO图元调用接口。
      图6 调用BO
      表1 BO图元配置参数说明

      参数名

      参数说明

      如何配置

      服务版本

      BO中的自定义API的版本号。

      从下拉框选择。

      系统会将BO中所有自定义API的版本值集中放置在该下拉框取值下。

      API类型

      API类型,分为REST或SDK。

      选择“REST”。

      操作方法

      BO中已自定义好的API接口。

      从下拉框选择。

      入参/目标

      当选择具体操作方法(API)后,API的输入参数将会显示在入参的目标列。

      系统会将选择的API的所有入参自动显示在目标列。当没有入参时,不显示。

      入参/源

      服务编排中的变量,需要和目标的参数类型保持一致。该源会将服务编排中的变量赋值给调用API的输入参数。

      可从全局上下文拖拽变量或者直接输入“{!变量名}”给目标赋值。

      出参/源

      当选择具体操作方法(API)后,API的输入参数将会显示在出参的源列。

      系统会将选择的API的所有出参自动显示在目标列。当没有出参时,不显示。

      出参/目标

      服务编排中的变量,需要和输出参数的类型保持一致。API中的输出参数赋值给服务编排中的变量,供服务编排使用。

      可从全局上下文拖拽或者直接输入变量。

      或者还是使用“子服务编排”图元,在“服务编排实例”中选择1.c新建的“gz__FlowC”。

分享:

服务编排所有常见问题

more

close