# 集成节点

# 集成节点数据结构概述

  • 所有基础节点的输入/输出配置方式一致
  • 数据流向:
    • 调用时:ESB输入 → 集成节点参数
    • 返回时:集成节点返回 → ESB输出
  • 数据结构支持情况:
    • 自动生成:SAP/SQL等标准节点
    • 需手动配置:RESTful WebAPI等接口

# RESTful接口手动配置数据结构

# 以K3WISE物料列表为例

  1. 基础配置

    • 新建ESB数据源
    • 拖入RESTful集成组件
    • 配置连接:K3
    • 请求类型:POST
    • 服务路径:Material/GetList

基础配置 ▲ 基础配置

  1. 导入架构方法
    • 调用参数配置
      1. 切换到"调用"页签
      2. 点击Payload区域的"导入"按钮
      3. 选择"JSON示例"类型
      4. 粘贴API文档中的请求示例
      {
        "Data": {
           "Top": "100",
           "PageSize": "10",
           "PageIndex": "1",
           "Filter": "FNumber like '%003%' ",
           "OrderBy": "FNumber asc",
           "Fields": "FNumber,FName"
        }
      }
      
      1. 点击"生成架构" → "保存"

调用参数配置 ▲ 调用参数配置

  • 返回参数配置
    1. 切换到"返回"页签
    2. 右键Response选择"导入"
    3. 粘贴API文档中的响应示例
      {
        "StatusCode": 200,
        "Message": "Success",
        "Data": {
          "ROWCOUNT": 0,
          "PAGESIZE": 10,
          "PAGEINDEX": 1,
          "DATA": null
        }
      }
    
    1. 生成架构后保存

返回参数配置 ▲ 返回参数配置

  1. 手动编辑方法
    • 右键点击Response选择"编辑"
    • 添加字段(支持类型:string/number/boolean等)
    • 数组配置:勾选"数组"选项将转换为:
      Array<Object> 或 Array<String>
      
    • 规范说明:采用JSON Schema标准

# 数据映射机制详解

  1. 映射本质

    • 实际生效的是右侧JS代码
    • 连线工具仅自动生成简单映射代码
  2. 示例解析

    // 实际生效的映射逻辑(示例)
    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
  1. 无连线情况
    • 仍可通过JS代码实现数据传递
    • 复杂逻辑时连线可能不显示但代码仍有效

# 高级数据转换技巧

  1. JS代码优势

    • 支持数据格式转换(如日期→字符串)
    • 可处理复杂业务逻辑
    • 支持函数式编程
  2. 扩展能力

    • 自定义JS函数:
      • 节点内定义:当前映射可用
      • 系统级定义:全局可用(路径:系统扩展→增加ESB映射函数)
  3. 典型应用场景

    // 示例:K3日期转换
     Fdate1: $Ymd(明细.交货日期)
    

# 注意事项

  1. JSON Schema规范参考:https://json-schema.org/
  2. 复杂映射建议先进行数据预览
  3. 系统预置函数列表可在帮助文档查询