• 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
  • 相关阅读:
    C++算法:接雨水
    【store商城项目01】环境准备以及测试
    PHP 安装
    国庆征文获奖名单公布
    [Unity3D] C# 十进制、二进制、十六进制 之间进制的转换
    决策树剪枝:解决模型过拟合【决策树、机器学习】
    [1172]python操作odps
    javaweb
    算法刷题日志——贪心
    Kotlin函数作为参数指向不同逻辑(二)
  • 原文地址:https://blog.csdn.net/lidongliangzhicai/article/details/126228126