工藤由美子 2021-09-26 09:48
浏览 18
已结题

求请教一下如何配置用友EAI对接,类似这种的


function transform(msgPayload) {
// docType
    let xmlStr = '<?xml version="1.0" encoding="utf-8"?>'
// xml 请求声明信息
    xmlStr += '<ufinterface sender="001" receiver="u8" roottag="inventoryclass" docid="136739611" proc="Add" codeexchanged="N" exportneedexch="N" paginate="0" display="存货分类" family="基础档案" timestamp="0x000000000027B669">';
// 回写构建关键数据
    for (let i = 0; i < msgPayload.length; i++) {
        xmlStr += '<inventoryclass>'
        xmlStr += '<code>' + msgPayload[i].code + '</code>' +
            '<name>' + msgPayload[i].name + '</name>' +
            '<rank>' + msgPayload[i].rank + '</rank>' +
            '<end_rank_flag>' + msgPayload[i].end_rank_flag + '</end_rank_flag>'
        xmlStr += '</inventoryclass>'
    }
// 结束标签
    xmlStr += '</ufinterface>'
    let returnMessage = {code: 200, msg: "成功", data: []}
    //导入Java支持
    let BarnaclePlugin = Java.type("com.jgyun.utils.BarnaclePlugin");
    //请求的EAI接口地址
    let url = "http://192.168.101.185/u8eai/import.asp"
    let middle = null;
    try {
        //请求接口,返回XML格式结果
        middle = BarnaclePlugin.postXml(url, xmlStr)
        //xml格式转换为JSONObject
        middle = BarnaclePlugin.parseXml2Json(middle)
        //分析结果并作转换
        var resultMap = [];
        for (let i = 0; i < middle.ufinterface.item.length; i++) {
            if (middle.ufinterface.item[i].succeed != 0) {
                returnMessage.code = 500
                resultMap.push({
                    "code": 500,
                    "msg": middle.ufinterface.item[i].dsc,
                    "key": middle.ufinterface.item[i].key
                })
            } else {
                resultMap.push({
                    "code": 200,
                    "msg": middle.ufinterface.item[i].dsc,
                    "key": middle.ufinterface.item[i].key
                })
            }
        }
    } catch (e) {
        returnMessage.code = 500;
        returnMessage.msg = e.message;
        returnMessage.data = null;
    }
    //构造成功返回信息
    returnMessage.data = resultMap;
    returnMessage.msg = "插入操作";
    return JSON.stringify(returnMessage);
}
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 10月4日
    • 创建了问题 9月26日

    悬赏问题

    • ¥15 欧拉系统opt目录空间使用100%
    • ¥15 ul做导航栏格式不对怎么改?
    • ¥20 用户端如何上传图片到服务器和数据库里
    • ¥15 现在研究生在烦开题,看了一些文献,但不知道自己要做什么,求指导。
    • ¥30 vivado封装时总是显示缺少一个dcp文件
    • ¥100 pxe uefi启动 tinycore
    • ¥15 我pycharm运行jupyter时出现Jupyter server process exited with code 1,然后打开cmd显示如下
    • ¥15 可否使用carsim-simulink进行四轮独立转向汽车的联合仿真,实现四轮独立转向汽车原地旋转、斜向形式、横移等动作,如果可以的话在carsim中如何进行相应设置
    • ¥15 Caché 2016 在Java环境通过jdbc 执行sql报Parameter list mismatch错误,但是同样的sql使用连接工具可以查询出数据
    • ¥15 疾病的获得与年龄是否有关