
# 创建空白流程服务编排
在数据发布、数据变更等流程运行过程中，用户需要通过调用流程服务API，可以将部件、BOM（Bill Of Material，物料清单）、工艺等数据传递给第三方系统，实现上下游系统之间数据同步。此时，可以通过定义流程服务编排，生成相应的流程服务API，用以后续在流程元模板的"流程编辑"中应用后，实现流程与外部系统对接，如数据同步、数据集成、消息通知等场景。
#### 前提条件
已登录流程引擎。
#### 手动创建流程服务编排
1. 在左侧导航栏中，选择"流程编排服务 \> 流程服务编排"，进入"流程服务编排"页面。
2. 单击"创建"，展开"创建服务"页面。
3. 选择"手动创建"页签，并在"基本信息"中，参照如下说明进行设置。 
   图1手动创建-基本信息   
   ![](https://support.huaweicloud.com/devg-craftartsipdcenter/figure/zh-cn_image_0000002266267726.png "点击放大")
   表1手动创建-基本信息参数说明 
   | 参数     | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   |:---|:---|
   | 服务名称   | 用户自定义，表示需要创建的流程服务编排的名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | tag    | 用户自定义，可根据用途、分组、流程等各维度自定义，以便更灵活管理流程服务编排。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | 服务来源   | 服务来源类型，支持XDM、外部系统和内部系统三种来源。 - XDM：表示当前数据建模引擎运行态中的全量数据服务。  - 外部系统：表示外部系统的服务，需要配置域名白名单后才可调用成功。如何配置域名白名单请参见[管理我的流程任务](https://support.huaweicloud.com/devg-craftartsipdcenter/idme_base_0075.html)。  - 内部系统：表示流程引擎提供的服务，针对需要对流程引擎的API做改造的场景。默认为"内部系统"。   |
   | 批量执行   | 设置是否需要批量执行。 - 是：批量执行接口。  - 否：不是批量执行接口，默认为"否"。                                                                                                                                                                                                                                                                                                          |
   | 变量名    | "批量执行"选择为"是"后，您可以根据实际业务需求，定义变量名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 是否异步执行 | 设置是否异步执行。 - 是：异步执行。  - 否：非异步执行，默认为"否"。                                                                                                                                                                                                                                                                                                                |
   | 查询方式   | "是否异步执行"选择为"是"后，您可以根据实际业务需求进行选择。当前仅支持API查询方式。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | 服务描述   | 用户自定义，用于说明当前创建的流程服务编排的作用、使用场景等，以便于其他用户了解和使用该流程服务编排。 长度不能超过64个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
      
   
   
4. 单击"下一步"，进入"配置信息"页面。
5. 在"配置信息"中，"服务类型"选择"HTTP"，并参照如下说明进行设置。 
   图2手动创建-配置信息   
   ![](https://support.huaweicloud.com/devg-craftartsipdcenter/figure/zh-cn_image_0000002300917669.png "点击放大")
   表2手动创建-配置信息参数说明 
   | 参数                      | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   |:---|:---|
   | 服务地址                    | 用于调用服务的完整URL地址，由用户根据实际服务部署情况自定义填写。长度不能超过200个字符（含协议头）。 示例：https://api.example.com/service/v1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   | 方法类型                    | HTTP请求方法（也称为操作或动词），用于表示当前流程服务编排请求操作的类型。支持的HTTP请求方法类型如下： - GET：用于获取资源信息，通常用于查询操作，例如获取用户信息、查询数据模型列表等。  - POST：用于提交数据，适用于创建或更新资源操作，例如提交表单、上传文件等。  - PUT：用于更新资源。通常用于更新一个已存在的资源，例如修改用户信息、更新数据模型信息等。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | Header参数                | Header参数是包含在HTTP请求头（Header）中的键值对，通常用于请求或响应相关的元数据，例如认证信息（Authorization）、内容类型（Content-Type）等。 选择指定方法类型后，您可以在"Header参数"页签下，进一步定义Header参数。 - 参数名称：Header参数的名称，例如Set-Cookie。  - 参数值：参数的值，例如123456。如需使用变量作为参数值，使用**${变量名}**格式定义，例如${Cookie}。  - 加密：如果您想对参数值进行加密，可设置为![](https://support.huaweicloud.com/devg-craftartsipdcenter/figure/zh-cn_image_0000002300844605.png "点击放大")。开启加密后，参数值会显示为"\*\*\*\*\*\*"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | Query参数                 | Query参数是附在URL后面的键值对，用于传递请求的参数和值，例如数据筛选、分页、排序等操作。URL以**?** **key=value** 的形式呈现，多个参数之间用\&进行分隔（即**URL?key1=value1?key2=value2**）。 选择指定方法类型后，您可以在"Query参数"页签下，进一步定义Query参数。 - 参数名称：Query参数的名称，例如page。  - 参数值：参数的值，例如1。如需使用变量作为参数值，使用**${变量名}**格式定义，例如${page}。  - 加密：如果您想对参数值进行加密，可设置为![](https://support.huaweicloud.com/devg-craftartsipdcenter/figure/zh-cn_image_0000002266164672.png "点击放大")。开启加密后，参数值会显示为"\*\*\*\*\*\*"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   | Body参数                  | Body参数是包含在HTTP请求体中的数据，通常用于传递大量的数据或者复杂的数据结构。根据传输格式和内容类型的不同，Body参数可以有多种类型，目前支持设置的参数类型包括JSON和FORM_DATA。 选择指定方法类型后，您可以在"Body参数"页签下，进一步定义Body参数。 **需要注意的是，GET方法不支持配置Body参数。** - 参数类型： - JSON：JSON是一种轻量级的数据交换格式，通常用于传递结构化数据（如对象、数组）。  - FORM_DATA：是一种在HTTP请求中用于编码表单数据的机制，通常用于上传文件或包含二进制数据的表单提交。    - Rest模板："参数类型"选择为"JSON"后，您可以根据实际业务需求预先定义JSON结构，用于规定在调用流程服务编排时，客户端发送给服务器端的数据格式。 JSON入参模板示例如下： ``` { "username": "string", "phone": "string", "age": 0 } ``` 如需使用变量作为入参值，使用**${变量名}**格式定义，对应JSON入参模板示例如下： ``` { "username": "${stringUsername}", "phone": "${stringPhone}", "age": ${numberAge} } ```   - Form参数：在HTTP请求中，FORM_DATA可以通过预设参数的方式提前定义好表单数据，以便在请求时直接使用。请根据实际业务需求进行定义。 - 参数名称：通常是表单元素的name属性值，例如username。  - 参数值：通常是用户输入的数据或表单元素的当前值，例如${username}或John。  - 加密：如果您想对参数值进行加密，可设置为![](https://support.huaweicloud.com/devg-craftartsipdcenter/figure/zh-cn_image_0000002266267734.png "点击放大")。开启加密后，参数值会显示为"\*\*\*\*\*\*"。                                                                                                                                                                                                                                                         |
   | 返参模板                    | 返参模板是定义流程服务编排时预先设定的标准化响应格式，用于明确流程服务编排调用后返回的数据格式、结构和内容规则。支持用户设置JSON格式的返回参数，请根据实际业务需求进行设置。 返参模板示例如下： ``` { "userId": "$.user.id", "userName": "$.user.name", "lastLoginTime": "$.logs[0].timestamp" } ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | 请求参数(Query/Header/Body) | 指的是调用流程服务编排时传递给流程元模板的入参。 勾选此配置项后，您可以根据实际业务需求预先定义请求参数，以便后续在编排流程元模板的"UI编辑"页面时，为绑定的事件配置相应入参。 - 参数名：请求参数的名称，用户自定义。  - 类型：指定请求参数的数据类型，支持的数据类型包括：BOOLEAN（布尔型）、BYTE（字节型）、SHORT（短整型）、INTEGER（整型）、LONG（长整型）、STRING（字符串型）、FLOAT（浮点型）、DOUBLE（双精度浮点型）、OBJECT（对象型）、BIG_DECIMAL（大数值型）、DATE（日期型）和FILE（文件型）。  - 是否为数组：设置参数是否为数组形式。 - 是：表示该参数为数组类型，适用于处理复选框提交的数据或者需要绑定多个同名参数的情况。例如，在表单中多个选项被选中，可通过定义数组类型的入参来接收这些数据。  - 否：表示该参数为非数组类型，默认设置为"否"。    - 位置：设置请求参数的传递方式，可选择：QUERY（查询字符串）、HERDER（头部信息）和BODY（请求体）。  - 是否必填：设置是否为必填参数。 - 是：表示该参数为必填项。  - 否：表示该参数为非必填项。    - 是否为模板：设置是否为模板参数。 - 是：表示该参数为模板参数。  - 否：表示该参数为非模板参数。    - 默认值：用户自定义。  - 描述：用户自定义。   |
   | 响应参数                    | 指的是完成流程服务编排调用后返回给流程元模板的数据。 勾选此配置项后，您可以根据实际业务需求预先定义响应参数，以便后续在编排流程元模板的"UI编辑"页面时，为绑定的事件配置相应出参。 - 参数名：响应参数的名称，用户自定义。  - 类型：指定响应参数的数据类型，支持的数据类型包括：BOOLEAN（布尔型）、BYTE（字节型）、SHORT（短整型）、INTEGER（整型）、LONG（长整型）、STRING（字符串型）、FLOAT（浮点型）、DOUBLE（双精度浮点型）、OBJECT（对象型）、BIG_DECIMAL（大数值型）、DATE（日期型）和FILE（文件型）。  - 是否为数组：设置返回的数据是否为数组形式。 - 是：表示该参数为数组类型，常用于返回列表数据（如用户列表、订单集合等）。  - 否：表示该参数为非数组类型，默认设置为"否"。    - 描述：用户自定义。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
      
   
   
6. 单击"保存并发布"。
 
