
# 创建空白流程服务编排
在工业数据发布、变更等流程运行过程中，用户可通过调用流程服务API，将部件、BOM（Bill Of Material，物料清单）、工艺路线等核心主数据高效、安全地传递给第三方系统（如ERP、MES、PLM等），实现上下游系统间的数据同步与业务协同。
通过流程服务编排功能，用户可自定义生成标准化的流程服务API。在后续的流程元模板"流程编辑"中调用该API，即可实现流程引擎与外部系统的深度对接，广泛应用于工业数据同步、跨系统集成、生产消息通知等典型场景。
#### 前提条件
- 已登录流程引擎。
- 如果"服务来源"为"外部系统"，需提前在流程运行服务的"应用配置 \> 域名管理"中配置目标域名，确保网络可达。具体操作请参见[通过流程运行服务管理域名](https://support.huaweicloud.com/usermanual-idme/idme_base_0078.html)。
 
#### 步骤1：配置基本信息
1. 在左侧导航栏中，选择"流程编排服务 \> 流程服务编排"，进入"流程服务编排"页面。
2. 单击"创建"，展开"创建服务"页面。
3. 选择"手动创建"页签，并在"基本信息"中，参照如下信息进行配置。 
   表1手动创建-基本信息参数说明 
   | 参数   | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   |:---|:---|
   | 服务名称 | 用户自定义。建议采用"业务模块_功能_版本"等命名规范（如：MES_BOM同步_V1），以明确该流程服务编排的用途。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | tag  | 用户自定义。可根据业务用途、系统分组、所属流程等维度打标签，便于后续对海量接口进行敏捷分类与检索管理。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | 服务来源 | 定义接口的来源类型，支持以下三种： - XDM：指当前数据建模引擎运行态下的全量数据服务。  - 外部系统：指代第三方系统的服务。 **注意：** 调用外部系统需要提前配置域名白名单，详情请参见[通过流程运行服务管理域名](https://support.huaweicloud.com/usermanual-idme/idme_base_0078.html)。   - 内部系统：指代流程引擎内置服务，适用于需对流程引擎原生API进行二次封装或改造的场景。默认为"内部系统"。   |
   | 服务描述 | 用户自定义。用于简明扼要地说明该服务的作用与使用场景，便于团队内其他成员理解与复用。 长度不能超过64个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
      
   
   
4. 完成配置后，单击"下一步"。
 
#### 步骤2：配置流程服务编排
在"配置信息"页面，系统支持"HTTP"和"APIEDIT"两种服务类型。请根据实际对接需求，选择对应的配置方式。
- [HTTP]：适用于基于标准HTTP协议封装的常规接口对接。
- [APIEDIT]：适用于需通过自定义脚本处理复杂逻辑，或需编排多个内部接口的场景。
 
#### 配置HTTP服务类型
1. 在"服务类型"下拉框中选择"HTTP"。 
   图1HTTP服务类型   
   ![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000002622346817.png "点击放大")
   
   
2. 配置"服务地址"。 
   填写调用外部服务的完整URL（含协议头），格式示例：
   ```
   https://api.example.com/service/v1
   ```
   - 格式要求：必须包含协议头。
   
   - 字符长度：不能超过200个字符。
   
   
   
   
3. 选择"方法类型"。 
   根据业务场景选择合适的HTTP请求方法：
   表2方法类型 
   | 方法   | 适用场景                                     |
   |:---|:---|
   | GET  | 用于获取资源信息，如获取ERP库存状态、查询MES工单信息、获取设备实时状态。  |
   | POST | 用于提交或创建数据，如向MES下发工艺参数、创建ERP物料主数据、上传质检报告。 |
   | PUT  | 用于更新已存在的资源，如更新WMS物料状态、修改ERP工艺路线信息。       |
      
   
   
4. HTTP请求参数配置。
   
   根据接口规范，在对应页签下配置参数。如需使用动态变量，请统一使用**${变量名}**格式（如${workOrderNo}）。
   - **Header参数** （请求头）：用于传递元数据，如认证令牌（Authorization）、内容类型（Content-Type）等。
     表3Header参数（请求头） 
     | 配置项  | 配置说明                                            |
     |:---|:---|
     | 参数名称 | Header参数的名称，如Set-Cookie。                        |
     | 参数值  | Header参数的值，如123456。支持使用变量，如${Cookie}。           |
     | 加密   | 如需对参数值加密可开启此选项。开启后，参数值在界面上将掩码显示为"\*\*\*\*\*\*"。 |
        
     
   
   - **Query参数** （查询参数）：附在URL后面的键值对，用于数据筛选、分页等操作。以**?** **key=value** 的形式呈现，多个参数之间用\&进行分隔（如**?page=1\&size=20** ）。
     表4Query参数（查询参数） 
     | 配置项  | 配置说明                                            |
     |:---|:---|
     | 参数名称 | Query参数的名称，如page。                               |
     | 参数值  | Query参数的值，例如1。支持使用变量，如${page}。                  |
     | 加密   | 如需对参数值加密可开启此选项。开启后，参数值在界面上将掩码显示为"\*\*\*\*\*\*"。 |
        
     
   
   - **Body参数** （请求体）：用于传递大量或复杂结构化数据。**注意：GET方法不支持配置Body参数。**
     表5Body参数（请求体） 
     | 配置项    | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
     |:---|:---|
     | 参数类型   | - JSON：轻量级数据交换格式，适用于结构化数据交换，如BOM层级结构、工艺参数对象。  - FORM_DATA：表单数据编码机制，适用于文件上传场景，如上传CAD图纸、质检报告PDF。                                                                                                                                                                                                                               |
     | Rest模板 | 当"参数类型"选择"JSON"时显示。 根据实际业务需求，预先定义JSON结构，用于规范客户端发送给服务端的数据格式。支持使用**${变量名}**作为入参值。 模板示例： ``` { "username": "${stringUsername}", "phone": "${stringPhone}", "age": ${numberAge} } ```                                                                                                                                                                                                                                                  |
     | Form参数 | 当"参数类型"选择"FORM_DATA"时显示。 通过预设参数的方式提前定义好表单数据，以便在请求时直接使用。 - 参数名称：通常为表单元素的name属性值，如username。  - 参数值：通常为用户输入的数据或当前值，如${username}或John。  - 加密：如需对参数值加密可开启此选项。开启后，参数值在界面上将掩码显示为"\*\*\*\*\*\*"。   |
        
     
   
   
   
   
5. 配置"返参模板"。 
   定义下游系统返回数据的标准化解析格式，采用JSONPath语法。示例：
   ```
   {
       "userId": "$.user.id",
       "userName": "$.user.name",
       "lastLoginTime": "$.logs[0].timestamp"
   }
   ```
   
   
6. （可选）配置"请求参数(Query/Header/Body)"。 
   此处的请求参数用于在调用流程服务编排时，向"流程元模板"传递入参（区别于[4]HTTP请求本身的参数）。默认不勾选。
   勾选后，可预定义请求参数，以便后续在编排流程元模板的"UI编辑"页面中，为绑定的事件配置相应入参。
   表6请求参数(Query/Header/Body) 
   | 配置项   | 配置说明                                                                                                                                                                                                                                                                                                                         |
   |:---|:---|
   | 参数名   | 请求参数的名称，用户自定义。                                                                                                                                                                                                                                                                                                               |
   | 类型    | 指定请求参数的数据类型。 支持：BOOLEAN（布尔型）、BYTE（字节型）、SHORT（短整型）、INTEGER（整型）、LONG（长整型）、STRING（字符串型）、FLOAT（浮点型）、DOUBLE（双精度浮点型）、OBJECT（对象型）、BIG_DECIMAL（大数值型）、DATE（日期型）和FILE（文件型）。                                                                                                               |
   | 是否为数组 | 设置参数是否为数组形式。 - 是：数组类型，适用于处理复选框提交的数据或需要绑定多个同名参数的情况（如表单中多个选项被选中）。  - 否：非数组类型，默认为"否"。   |
   | 位置    | 设置请求参数的传递方式，可选：QUERY（查询字符串）、HEADER（头部信息）和BODY（请求体）。                                                                                                                                                                                                                                                                          |
   | 是否必填  | 设置是否为必填参数。 - 是：必填项。  - 否：非必填项。                                                      |
   | 是否为模板 | 设置是否为模板参数。 - 是：模板参数。  - 否：非模板参数。                                                    |
   | 默认值   | 参数的默认值，用户自定义。                                                                                                                                                                                                                                                                                                                |
   | 描述    | 参数的用途说明，用户自定义。                                                                                                                                                                                                                                                                                                               |
      
   
   
7. （可选）设置"响应参数"。 
   此处配置的是完成流程服务编排调用后，返回给"流程元模板"的数据。默认不勾选。
   勾选后，可预定义响应参数，以便后续在编排流程元模板的"UI编辑"页面中，为绑定的事件配置相应出参。
   表7响应参数 
   | 配置项   | 配置说明                                                                                                                                                                                                                                                                                                                  |
   |:---|:---|
   | 参数名   | 响应参数的名称，用户自定义。                                                                                                                                                                                                                                                                                                        |
   | 类型    | 指定响应参数的数据类型。 支持：BOOLEAN（布尔型）、BYTE（字节型）、SHORT（短整型）、INTEGER（整型）、LONG（长整型）、STRING（字符串型）、FLOAT（浮点型）、DOUBLE（双精度浮点型）、OBJECT（对象型）、BIG_DECIMAL（大数值型）、DATE（日期型）和FILE（文件型）。                                                                                                       |
   | 是否为数组 | 设置返回的数据是否为数组形式。 - 是：数组类型，常用于返回列表数据（如用户列表、订单集合等）。  - 否：非数组类型，默认为"否"。   |
   | 描述    | 参数的用途说明，用户自定义。                                                                                                                                                                                                                                                                                                        |
      
   
   
 
#### 配置APIEDIT服务类型
1. 在"服务类型"下拉框中选择"APIEDIT"。 
   图2APIEDIT服务类型   
   ![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000002591827242.png "点击放大")
   
   
2. 配置"执行流程"。 
   1. 单击"编辑流程"，进入可视化配置页面。
   
   2. 根据业务逻辑，从左侧工具面板将所需组件拖拽至中央"在线编辑区"，逐个配置组件属性。具体操作请参见[可视化配置流程服务编排的执行流程](https://support.huaweicloud.com/usermanual-idme/idme_base_0118.html)。
   
   3. 完成编排后，单击"保存"。
   
   
   
   
3. 配置"入参模板"。 
   根据实际业务需求，输入JSON格式的入参模板，用于定义流程服务编排调用时接收的数据结构。
   
   
4. 配置"返参模板"。 
   用于预定义流程服务编排调用后返回的标准化响应格式，明确返回数据的格式、结构及内容规则。支持配置JSON格式的返回参数，请根据实际业务需求进行设置。
   示例：
   ```
   {
       "userId": "$.user.id",
       "userName": "$.user.name",
       "lastLoginTime": "$.logs[0].timestamp"
   }
   ```
   
   
5. （可选）配置"请求参数(Query/Header/Body)"。 
   此处配置的是调用流程服务编排时，传递给"流程元模板"的入参。默认不勾选。
   勾选后，可预定义请求参数，以便后续在编排流程元模板的"UI编辑"页面中，为绑定的事件配置相应入参。
   表8请求参数(Query/Header/Body) 
   | 配置项   | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   |:---|:---|
   | 参数名   | 请求参数的名称，用户自定义。                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | 类型    | 指定请求参数的数据类型。 支持：BOOLEAN（布尔型）、BYTE（字节型）、SHORT（短整型）、INTEGER（整型）、LONG（长整型）、STRING（字符串型）、FLOAT（浮点型）、DOUBLE（双精度浮点型）、OBJECT（对象型）、BIG_DECIMAL（大数值型）、DATE（日期型）和FILE（文件型）。                                                                                                                                                                                                                                   |
   | 是否为数组 | 设置参数是否为数组形式。 - 是：数组类型，适用于处理复选框提交的数据或需要绑定多个同名参数的情况（如表单中多个选项被选中）。  - 否：非数组类型，默认为"否"。   |
   | 位置    | 设置请求参数的传递方式，可选：QUERY（查询字符串）、HEADER（头部信息）和BODY（请求体）。                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | 是否必填  | 设置是否为必填参数。 - 是：必填项。  - 否：非必填项。                                                      |
   | 是否为模板 | 设置是否为模板参数。 - 是：模板参数。  - 否：非模板参数。                                                    |
   | 默认值   | 参数的默认值，用户自定义。                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | 描述    | 参数的用途说明，用户自定义。                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
      
   
   
6. （可选）设置"响应参数"。 
   此处配置的是完成流程服务编排调用后，返回给"流程元模板"的数据。默认不勾选。
   勾选后，可预定义响应参数，以便后续在编排流程元模板的"UI编辑"页面中，为绑定的事件配置相应出参。
   表9响应参数 
   | 配置项   | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   |:---|:---|
   | 参数名   | 响应参数的名称，用户自定义。                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | 类型    | 指定响应参数的数据类型。 支持：BOOLEAN（布尔型）、BYTE（字节型）、SHORT（短整型）、INTEGER（整型）、LONG（长整型）、STRING（字符串型）、FLOAT（浮点型）、DOUBLE（双精度浮点型）、OBJECT（对象型）、BIG_DECIMAL（大数值型）、DATE（日期型）和FILE（文件型）。                                                                                                                                                                                                                           |
   | 是否为数组 | 设置返回的数据是否为数组形式。 - 是：数组类型，常用于返回列表数据（如用户列表、订单集合等）。  - 否：非数组类型，默认为"否"。   |
   | 描述    | 参数的用途说明，用户自定义。                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
      
   
   
 
#### 步骤3：保存或发布
完成所有编排与参数配置后，请根据实际业务需求执行如下操作：
- 单击"保存"：仅保存当前配置为"草稿"服务状态。服务尚未发布，不会生成可供调用的API，外部系统或流程模板无法使用此服务。
- 单击"保存并发布"：保存配置并立即将服务发布至系统。发布成功后，系统将生成唯一的API地址与凭证，该流程服务编排即刻生效，可被流程元模板调用或供第三方系统直接集成。
 
