Suitescript:在 NetSuite 上使用金融机构连接脚本和 CAMT053 解析器时出错

问题描述 投票:0回答:1

希望您能够提供帮助。 在 NetSuite 上,我目前正在构建一个金融机构连接脚本,其唯一目标是将 XML 文件传递到“CAMT053 插件实现”,该文件是银行解析器捆绑包的一部分。我不确定该插件如何处理 XML 文件;更具挑战性的是我们无法访问脚本来检查可能出现的问题。

无论如何,这是我的代码片段:

    function getTransactionData(context) {
    var configurationId = context.pluginConfiguration.getConfigurationFieldValue({ fieldName: "configuration_id" });
    var configuration = loadConfiguration(configurationId)

    var accountRequests = JSON.parse(context.accountRequestsJSON);
    nLog.audit({
        title: 'accountRequests',
        details: JSON.stringify(context.accountRequestsJSON)
    });

    if (accountRequests != null) {
        accountRequests.forEach(function (accountRequest) {
               var accountId = accountRequest.accountMappingKey;
               var fromDateTime = accountRequest.dataStartTime;
               var toDateTime = accountRequest.dataEndTime;
               
               //LOAD FILE
               let fileTestLoad = nFile.load({
                   id: 12345
               });

               //CAPTURE XML CONTENT AS A STRING
               var downloadedData = fileTestLoad.getContents();

               //PASS STRING, GET PROCESSED BY CAMT053 PARSER (provided by NetSuite)
               context.addDataChunk({dataChunk: downloadedData});

            }

        });
    }
    context.returnAccountRequestsJSON({ accountsJson: context.accountRequestsJSON });
}

现在,我收到此错误: 由于以下错误,无法解析或导入该文件: {"type":"error.SuiteScriptError","name":"SSS_XML_DOM_EXCEPTION","message":"不允许匹配“[xX][mM][lL]”的处理指令目标。[第221行,第17列]","id":"","stack":["fromString(N/xml)","(/SuiteBundles/Bundle 293699/com.netsuite.bsp/src/wrapper/bsp_wrapper_xml.js:10)", “(/SuiteBundles/Bundle 293699/com.netsuite.bsp/src/parser/bsp_parser_camt053.js:629)”],“原因”:{“类型”:“内部错误”,“代码”:“SSS_XML_DOM_EXCEPTION”,“详细信息":"不允许匹配“[xX][mM][lL]”的处理指令目标[第 221 行,第 17 列]","userEvent":null,"stackTrace":["fromString(N/xml)。 )","(/SuiteBundles/Bundle 293699/com.netsuite.bsp/src/wrapper/bsp_wrapper_xml.js:10)","(/SuiteBundles/Bundle 293699/com.netsuite.bsp/src/parser/bsp_parser_camt053.js :629)"],"notifyOff":false},"notifyOff":false,"userFacing":false}

我对这个错误做了一些研究;当 XML 文件包含不正确的 XML 声明或不正确的格式时,显然会发生这种情况。这确实已经过审查,并使用了在线验证器,一切似乎都很好。这是我正在使用的 XML 文件的片段:

XML snippet

总结一下 - 我想了解如何将 context.addChunks() 调用与来自银行解析器包的 NetSuite 默认 CAMT053 解析器一起使用。非常感谢任何帮助!

如何触发脚本:我只需编辑/保存格式配置文件记录: enter image description here

xml netsuite suitescript suitescript2.0
1个回答
0
投票

我遇到了类似的问题,我需要从我们的 ABSI 银行文件处理 ZBA 交易。我最终只是创建了自己的 BAI2 解析器,而不是尝试让 NetSuite 提供的解析器在 ABSI 上下文之外工作。

本质上,我的 ABSI 插件只是将入站文件复制到一个文件夹,然后我的解析器运行以生成银行匹配数据。我的解析器还用于 Map/Reduce 中,以从 ZBA 条目中提取和映射财务交易。

© www.soinside.com 2019 - 2024. All rights reserved.