
# 创建Java服务编排
#### 操作场景
当工业数字模型驱动引擎-数据建模引擎（xDM Foundation，简称xDM-F）提供的标准接口无法满足您的业务需求时，您可以使用服务编排功能对您构建的数据模型进行高代码编排，形成新的接口，提高应用开发的速度与质量。本文为您介绍如何使用Java服务编排。
#### 前提条件
- 已[登录应用运行态](https://support.huaweicloud.com/consog-idme/idme_consog_0023.html)。
- 已在应用设计态的"应用中心 \> 应用配置"中开启"xdm.runtime.custom.enable"配置项，具体操作请参见[应用配置](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0134.html)。
 
#### 操作步骤
1. 在左侧导航栏中，选择"服务编排管理 \> 高代码编排"，进入"高代码编排"页面。
2. 单击"创建"。
3. 根据页面提示，配置如下信息。 
   图1服务定义   
   ![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000001750305340.png "点击放大")
   表1服务定义-基本信息 
   | 参数      | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   |:---|:---|
   | API英文名称 | 填写服务编排的英文名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | API中文名称 | 填写服务编排的中文名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | API英文描述 | 填写服务编排的英文描述。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | API中文描述 | 填写服务编排的中文描述。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | 责任人     | 填写服务编排的责任人。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | API类型   | 支持Java和JavaScript两种类型，此处选择"Java"类型。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | 是否支持分页  | xDM-F在Java服务编排中预置一个"RDMPageVO"类，当您需要实现一些分页功能时，您可以通过此类实现。 "RDMPageVO"类：com.huawei.innovation.rdm.coresdk.basic.vo.RDMPageVO - 是：服务编排提供RDMPageVO入参，供脚本实现分页查询使用。**（推荐）**  - 否：不使用xDM-F预置的"RDMPageVO"类实现分页功能。   |
   | 标签      | - 如果您有可使用的标签，可选择"添加标签"。  - 如果您没有可使用的标签，可选择"自定义"。                                                                                                                                                                                                                                                 |
      
   
   
4. 单击"保存"。
5. 在"脚本显示"页签，编写Java服务编排的脚本。 
   1. 自定义编写脚本。 您也可以单击"SDK下载"，将此Java服务编排下载到本地，在本地使用Java工具编辑好脚本后再复制到应用运行态。
      表2Java服务编排脚本 
      | 脚本定义类型 | 说明                                                                                                                                                                                     |
      |:---|:---|
      | 入参定义   | 选择"入参定义"，根据业务需求，定义入参。 图2入参定义 ![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000001753346096.png "点击放大")          |
      | 出参定义   | 选择"出参定义"，根据业务需求，定义出参。 图3出参定义 ![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000001800345697.png "点击放大")          |
      | 服务编排   | 完成入参和出参的定义后，选择"服务编排"，定义编排的代码逻辑。 图4服务编排 ![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000001753504988.png "点击放大") |
         
      
   
   2. 完成脚本编排后，单击左上方的"保存"，保存脚本。
      - 如因脚本代码错误导致保存失败，请参考页面实时提示修复问题后重试。
      
      - 如果您想验证脚本的正确性或者验证脚本是否符合预期，您可以在"模拟API-输入参数"中输入测试参数，单击"运行并保存"进行验证。
        系统将在"输出结果"中返回运行结果，便于确认脚本是否符合预期。
        图5输出结果   
        ![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000001800464729.png "点击放大")
        当脚本执行出现异常时，切换至"日志"页签，系统自动展示系统错误堆栈（如异常类型、错误行等）或是用户自定义的日志信息（如通过log.info()/log.error()等方法输出的业务标记信息）。
        图6日志信息   
        ![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000002284599074.png "点击放大") 
       
   
   
   
   
6. 确认脚本编写完成后，单击"发布"，生成服务编排API。 
   此时，您可以选择"服务预览"页签，通过可视化页面预览生产环境的运行效果。
   图7服务预览   
   ![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000001753346104.png "点击放大")
   您也可以前往"数据服务管理 \> 全量数据服务"的"服务编排"，获取该服务编排的API信息，通过API方式调用此服务编排。
   图8服务编排API   
   ![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000001800345701.png "点击放大")
   
   
 
