• Lua04 实例列举 ESB2CP的报文转换流程


    主流程

    1、日志节点

    流程变量、全局变量的值进行打印。

    这里打印:sys.MSG---XML字符流

    2、XML节点-转入

    将TCP下的字节报文(已转为XML字符串流)转为 XML Document对象

    • 设置入参:待导入的XML字符串---sys.MSG   
    • 设置入参:编码规则---UTF-8  
    • 接收出参:目标存储变量名---esbReqXml

    3、执行节点

    只有入参,没有出参,可探知是否执行成功。

    平台变量怎么使用?

    拼接ESB的transCode---ESBIN.transCode。这个是全局变量。

    1. esbservicecode=esbReqXml:getValue("/body/request/MsgHdr/transCode");
    2. ESBIN.transCode =esbservicecode

    4、枚举置换(无)

    根据输入的ESBIN.transCode获取产品服务ID,覆盖到ESBIN.transCode中。

     5、日志节点(无)

    日志打印ESBIN.transCode

    • 设置入参1:编码格式
    •  设置入参2:参数值

     6、JSON节点-转出

    输入Xml Document对象,转为Json字符串后导出

    • 设置入参:Xml Document对象---esbReqXml 
    • 设置入参:编码规则---UTF-8  
    • 设置入参:是否去除根节点-0,1去除,0保留。
    • 接收出参:json报文---sys.MSG

    7、日志节点

    日志打印sys.MSG

    8、调用接出节点----调用http

    与外部通讯,调用完毕后,应答报文保存在sys.MSG系统变量中。

    配置接出节点,关联接出适配器。(服务地址IP/port/transCode+请求方案+并发数)

    9、执行节点---重新获取根节点,防止多个根节点(其实没有用)

    1. jsonObj = Json.parse(sys.MSG);
    2. Ebody = jsonObj:getJSONObject("transaction");
    3. sBody = Json.export(Ebody);
    4. print(sBody);

    10、JSON节点-转入

    将JSON字符串转为XML Document对象

    • 设置入参:待导入的JSON字符串---sBody 
    • 设置入参:编码规则---UTF-8  
    • 设置入参:根节点名---"transaction"
    • 接收出参:XML DOC---respxml

     11、将XML DOC转为XML字符串

    • 设置入参:respxml
    • 设置入参:编码规则---UTF-8  
    • 接收出参:XML 字符串---sys.MSG
  • 相关阅读:
    Grafana配置对接Prometheus并配置Dashboard
    《中国垒球》:“五个融合”打开中国垒球发展新局面
    程序被加载到进程的哪个位置?
    因为爱情而美
    HMS Core Discovery第17期直播预告|音随我动,秒变音色造型师
    Wails简介
    JAVA:实现N Queens 皇后问题算法(附完整源码)
    在C# 和Java中,利用反射处理S7协议读取西门子PLC的变量
    K8S集群搭建(多master单node)
    零基础自学javase黑马课程第七天
  • 原文地址:https://blog.csdn.net/lidongliangzhicai/article/details/126228126