# 集成节点
# 集成节点数据结构概述
- 所有基础节点的输入/输出配置方式一致
- 数据流向:
- 调用时:ESB输入 → 集成节点参数
- 返回时:集成节点返回 → ESB输出
- 数据结构支持情况:
- 自动生成:SAP/SQL等标准节点
- 需手动配置:RESTful WebAPI等接口
# RESTful接口手动配置数据结构
# 以K3WISE物料列表为例
基础配置
- 新建ESB数据源
- 拖入RESTful集成组件
- 配置连接:K3
- 请求类型:POST
- 服务路径:Material/GetList
▲ 基础配置
- 导入架构方法
- 调用参数配置:
- 切换到"调用"页签
- 点击Payload区域的"导入"按钮
- 选择"JSON示例"类型
- 粘贴API文档中的请求示例
{ "Data": { "Top": "100", "PageSize": "10", "PageIndex": "1", "Filter": "FNumber like '%003%' ", "OrderBy": "FNumber asc", "Fields": "FNumber,FName" } }- 点击"生成架构" → "保存"
- 调用参数配置:
▲ 调用参数配置
- 返回参数配置:
- 切换到"返回"页签
- 右键Response选择"导入"
- 粘贴API文档中的响应示例
{ "StatusCode": 200, "Message": "Success", "Data": { "ROWCOUNT": 0, "PAGESIZE": 10, "PAGEINDEX": 1, "DATA": null } }- 生成架构后保存
▲ 返回参数配置
- 手动编辑方法
- 右键点击Response选择"编辑"
- 添加字段(支持类型:string/number/boolean等)
- 数组配置:勾选"数组"选项将转换为:
Array<Object> 或 Array<String> - 规范说明:采用JSON Schema标准
# 数据映射机制详解
映射本质
- 实际生效的是右侧JS代码
- 连线工具仅自动生成简单映射代码
示例解析
// 实际生效的映射逻辑(示例)
var $result = {
Response: {
total: Response.Data.ROWCOUNT,
rows: map(Response.Data.DATA, function (dATA, indexOfDATA) {
return {
供应商编码: dATA.FNumber,
供应商名称: dATA.FName
};
})
}
}
// BU节点返回映射示例
//功能:判断结果集非空时取首条记录的bu字段
bu: Result.rows.length ? Result.rows[0].bu : null
- 无连线情况
- 仍可通过JS代码实现数据传递
- 复杂逻辑时连线可能不显示但代码仍有效
# 高级数据转换技巧
JS代码优势
- 支持数据格式转换(如日期→字符串)
- 可处理复杂业务逻辑
- 支持函数式编程
扩展能力
- 自定义JS函数:
- 节点内定义:当前映射可用
- 系统级定义:全局可用(路径:系统扩展→增加ESB映射函数)
- 自定义JS函数:
典型应用场景
// 示例:K3日期转换 Fdate1: $Ymd(明细.交货日期)
# 注意事项
- JSON Schema规范参考:https://json-schema.org/
- 复杂映射建议先进行数据预览
- 系统预置函数列表可在帮助文档查询
← ESB数据源输入、输出 可以和哪些系统整合 →