NC56 XML 报文校验出错一例
好好的上线了、下午开完会告诉我有个凭证没法传入 NC 了。
请求报文如下:
<?xml version="1.0" encoding='UTF-8'?>
<ufinterface roottag="voucher" billtype="gl" replace="Y" receiver="10108" sender="FSSC" isexchange="Y" filename="FSPG-2023112300012.xml" proc="add" operation="req"><voucher id="9c5f0852ffffd8c6ccfa9a23b1b2b7ae3b37"><voucher_body><entry><auxiliary_accounting><item name ="收支项目">运输费</item><item name ="部门档案">销售部</item></auxiliary_accounting><exchange_rate2>1.0000000000</exchange_rate2><account_code>6601</account_code><currency>CNY</currency><abstract>支付出口运费(xxx)</abstract><entry_id>1</entry_id><primary_debit_amount>1.00</primary_debit_amount><natural_debit_currency>1.00</natural_debit_currency></entry><entry><auxiliary_accounting><item name ="内部账户辅助核算">10108</item></auxiliary_accounting><primary_credit_amount>7810.00</primary_credit_amount><exchange_rate2>1.0000000000</exchange_rate2><account_code>1010</account_code><currency>CNY</currency><abstract>FOB运费</abstract><entry_id>2</entry_id><natural_credit_currency>1.00</natural_credit_currency></entry></voucher_body><voucher_head><voucher_affair_no>FSPG-2023112300012</voucher_affair_no><pk_boeno>FSPG-RCFY2311220109</pk_boeno><checkeddate/><checker/><attachment_number>6</attachment_number><fiscal_year>2023</fiscal_year><voucherkind>0</voucherkind><voucher_making_system>总账</voucher_making_system><voucher_type>银行付款凭证</voucher_type><prepareddate>2023-11-28</prepareddate><memo1>报销xx有限公司运输费出口印度FOB费,客户INDU, 订单FSPG20230711-1&2</memo1><company>10108</company><enter>FSSC</enter><accounting_period>11</accounting_period><signflag>N</signflag></voucher_head></voucher></ufinterface>
不管是直接在 NC 对应组织下的 “交换平台 - 手动加载界面” 加载报文,还是使用 postman 请求 NC ERP 生产环境、都返回同样的错误:
从输入流转换document出错:请检验文档格式。\n
思来想去,如果 xml 报文的标签尖括号是成对出现的、那么就是报文的内容有问题。直到我看到了 Encoding Special Characters in XML | Baeldung
这篇文章。里面罗列了常见的 xml 特殊字符:
| Entity | Character Represented |
|---|---|
| & | Ampersand – & |
| ' | Apostrophe – ‘ |
| > | Greater-than sign – > |
| < | Less-than sign – < |
| " | Quotation mark – “ |
于是把目光投向了那个可疑的 “&” 符号。
为了稳妥起见,找了 NC 测试环境的外部交换接口;架起 postman 发送了生产环境的报文。
去掉 “&” 之前的报文反馈如下:
<?xml version="1.0" encoding='UTF-8'?><ufinterface billtype="" filename="" isexchange="Y" proc="" receiver="" replace="Y" roottag="sendresult" sender="" successful="N"><sendresult><billpk></billpk><bdocid></bdocid><filename></filename><resultcode>-31003</resultcode><resultdescription>从输入流转换document出错:请检验文档格式。\n</resultdescription><content></content>
</sendresult>
</ufinterface>
去掉 “&” 之后的报文反馈如下:
<?xml version="1.0" encoding='UTF-8'?><ufinterface billtype="gl" filename="FSPG-2023112300012.xml" isexchange="Y" proc="add" receiver="10108" replace="Y" roottag="sendresult" sender="FSSC" successful="N"><sendresult><billpk></billpk><bdocid></bdocid><filename></filename><resultcode>-31114</resultcode><resultdescription>交换环境初始化异常:无法获得数据源,账套:fspg</resultdescription><content></content>
</sendresult>
</ufinterface>
问题不大,至少能传进去了(滑稽)
只能感叹对方系统的单纯、知道是发送 xml 报文还不对标签里的内容做转码、服了。。:)
(完)
相关文章:
NC56 XML 报文校验出错一例
好好的上线了、下午开完会告诉我有个凭证没法传入 NC 了。 请求报文如下: <?xml version"1.0" encodingUTF-8?> <ufinterface roottag"voucher" billtype"gl" replace"Y" receiver"10108" sender&q…...
STM32 ADC转换器、串口输出
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、ADC是什么?二、STM32的ADC2.1 认识STM32 ADC2.2转换方式2.3 为什么要校准?2.4 采样时间计算2.5 触发方式2.6 多通道采集解决方案2.7…...
[MySQL--基础]函数、约束
hello! 这里是欧_aita的频道。 今日语录:不管你觉得自己能做什么,或者你觉得你不能做什么,你都是对的。 祝福语:愿你的程序像太阳一样明亮,给世界带来温暖和光明。 大家可以在评论区畅所欲言,可以指出我的错误…...
企业数字化决策者深度分享
2023年11月18日,数聚股份应邀参加在台州椒江举办的数字中国企业峰会。本次会议中,诸多在企业数字化进程中做出重要贡献的高层管理者分享了各行各业极具引领性、创新性的数字化实践案例、产品和解决方案;数聚股份董事长陈庆华携其前瞻的数字化…...
JMeter压测常见面试问题
1、JMeter可以模拟哪些类型的负载? JMeter可以模拟各种类型的负载,包括但不限于Web应用程序、API、数据库、FTP、SMTP、JMS、SOAP / RESTful Web服务等。这使得JMeter成为一个功能强大且灵活的压力测试工具。 2、如何配置JMeter来进行分布式压力测试&a…...
使用opencv将sRGB格式的图片转换为DCI-P3格式【sRGB】【DCI-P3】
要将图像从 sRGB 格式转换为 DCI-P3 格式,您需要使用适当的线性转换矩阵。在 OpenCV 中,这通常涉及使用色彩转换函数,但 OpenCV 默认情况下不直接支持 sRGB 到 DCI-P3 的转换。因此,您需要手动计算并应用转换矩阵。 转换矩阵取决…...
【协议设计与实现】Linux环境下,如何从0开始设计并实现一个网络协议之一——需要考虑的因素
🐚作者简介:花神庙码农(专注于Linux、WLAN、TCP/IP、Python等技术方向)🐳博客主页:花神庙码农 ,地址:https://blog.csdn.net/qxhgd🌐系列专栏:TCP/IP协议&…...
【前端】JS实现SQL格式化
sqlFormatter sql-formatter - npm (npmjs.com) const sqlFormatter require(/utils/sqlFormatter)let sql select count(1) as cnt from t_user where id < 7;// 格式化 // let sqlF sqlFormatter.format(sql);let sqlF sqlFormatter.format(sql, {language:mysql,})…...
java设计模式学习之【工厂模式】
文章目录 引言工厂方法模式简介定义与用途:实现方式: 使用场景优势与劣势工厂模式在spring中的应用电费计算示例(简单工厂模式)改善为方法工厂模式代码地址 引言 在软件开发的世界中,对象的创建可能是一个复杂且重复的…...
android 内存分析(待续)
/proc/meminfo memory状态解读 命令:adb shell cat /proc/meminfo内存分布log 查看方式 命令:adb shell cat /proc/meminfo 用途:可以整体的了解memory使用情况 我们说的可用memory一般以MemAvailable的数据为准。所以了解MemAvailable的组成可以帮助…...
2023-简单点-机器学习中的数值计算问题
上溢和下溢: 上溢:指数函数或对数函数的输入值过大,导致计算结果超出了计算机可以表示的最大值。例如,在softmax函数中,当输入的数值很大时,指数运算的结果可能非常大,导致上溢。 下溢&#x…...
Qt5的事件处理函数有哪些?
2023年11月29日,周三上午 通过查看QWidget的定义可知,事件处理函数有: bool event(QEvent *event) override;virtual void mousePressEvent(QMouseEvent *event);virtual void mouseReleaseEvent(QMouseEvent *event);virtual void mouseDou…...
Jmeter性能综合实战——签到及批量签到
提取性能测试的三个方面:核心、高频、基础功能 签 到 请 求 步 骤 1、准备工作: 签到线程组 n HTTP请求默认值 n HTTP cookie 管理器 n 首页访问请求 n 登录请求 n 查看结果树 n 调试取样器 l HTTP代理服务器 (1)创建线…...
04 # 第一个 TypeScript 程序
初始化项目以及安装依赖 新建 ts_in_action 文件夾 npm init -y安装好 typescript,就可以执行下面命令查看帮助信息 npm i typescript -g tsc -h创建配置文件,执行下面命令就会生成一个 tsconfig.json 文件 tsc --init使用 tsc 编译一个 js 文件 新…...
Android gradle 配置阿里镜像
要在Android Gradle中配置阿里镜像,可以按照以下步骤进行操作: 打开项目中的 build.gradle 文件。 在 build.gradle 文件中添加阿里镜像的地址,如下所示: buildscript {repositories {maven { url https://maven.aliyun.com/re…...
Arduino驱动DHT20温湿度传感器(温湿度传感器)
目录 1、传感器特性 2、硬件原理图 3、控制器和传感器连线图 4、驱动程序 DHT20温湿度传感器是DHT11的全新升级版。 DHT20采用全新的ASIC专用芯片、改进的MEMS半导体电容式湿度传感器元件和标准片上温度元件。所有传感器均经过工厂校准,具有低功耗、高精度和稳定性、响应…...
如何使用ArcGIS Pro制作一张北极俯视地图
地图的表现形式有很多种,经常我们看到的地图是以大西洋为中心的地图,还有以太平洋为中心的地图,今天要给大家介绍的地图是从北极上方俯视看的地图,这里给大家讲解一下制作方法,希望能对你有所帮助。 修改坐标系 制作…...
每天五分钟计算机视觉:经典架构的力量与启示
在深度学习和计算机视觉领域,卷积神经网络(Convolutional Neural Networks,简称CNN)无疑是最为经典的架构之一。近年来,随着研究的不断深入和新架构的不断涌现,许多初学者可能会忽视这些经典架构的重要性。然而,理解并学习这些经典架构,对于我们深入理解卷积神经网络的…...
element plus 使用细节
菜鸟一直在纠结这个写不写,因为不难,但是菜鸟老是容易忘记,虽然想想或者搜搜就可以马上写出来,但是感觉每次那样就太麻烦了,不如一股做气写了算了,后面遇见别的就再来补充! 文章目录 table 表格…...
分析:为什么有些pdf打开之后无法编辑?
pdf文件大家应该都经常接触,但是不知道大家会遇到这种情况:有些PDF文件打开之后无法编辑?是什么原因呢?今天我们来分析一下都是那些原因导致的。 首先我们可以考虑一下,PDF文件中的内容是否是图片,如果确认…...
BFS入门经典
#include <cstring> #include <iostream> #include <algorithm> #include <queue>using namespace std;// pair<int,int> 用来存一个点的坐标 (x, y) typedef pair<int, int> PII;const int N 110;int n, m; // n 行 m 列 i…...
HagiCode Desktop 混合分发架构解析:如何用 PP 加速大文件下载成
一、Actor 模型:不是并发技巧,而是领域单元 Actor 模型的本质是: Actor 是独立运行的实体 Actor 之间只通过消息交互 Actor 内部状态不可被外部直接访问 Actor 自行决定如何处理收到的消息 Actor 模型真正解决的是: 如何在不共享状…...
Delayed Streams Modeling提示工程:如何通过音频和文本提示精准控制模型输出
Delayed Streams Modeling提示工程:如何通过音频和文本提示精准控制模型输出 【免费下载链接】delayed-streams-modeling Kyutais Speech-To-Text and Text-To-Speech models based on the Delayed Streams Modeling framework. 项目地址: https://gitcode.com/gh…...
关于ACT模型使用时的注意点和部署调试方法
目录 1.模型训练的输入图像必须是RGB格式 2.训练数据中需要处理action的数据 3.通过输入训练数据中的qpos和image来验证推理的代码是否正确 4.通过提前录入一组未在训练集中的数据作为模型输入,观察输入的action和预测的action曲线 5.模型推理后根据情况执行多少步,而不是全部…...
2025届毕业生推荐的AI写作神器实测分析
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当下,人工智能技术已然渗透进学术写作范畴,借助AI辅助来撰写毕业论文…...
MiniMax 闫俊杰向左, DeepSeek 梁文锋向右
2026 年初,大模型赛道有两件事值得关注。3 月,MiniMax 发布首份年报,营收爆发式增长。2 月,DeepSeek 创始人梁文锋接受 Lex Fridman 4 小时访谈,震惊全球 AI 圈。两个年轻人,两种打法,两条完全不…...
圆柱状螺旋时空几何框架下引力与电磁力的统一关系初探完整定稿版
圆柱状螺旋时空几何框架下引力与电磁力的统一关系初探完整定稿版圆柱状螺旋时空几何框架下引力与电磁力的统一关系初探完整定稿版计立伟,张祥前(1. 独立物理研究所,深圳 518000;2. 独立物理研究者,安徽 庐江 231500&am…...
K8S集群节点NotReady?别急着重启,先检查swap分区这个隐藏开关(附永久关闭swap方法)
K8S集群节点NotReady?别急着重启,先检查swap分区这个隐藏开关 凌晨三点,手机突然响起刺耳的告警声——K8S集群中三个工作节点同时显示NotReady状态。作为运维工程师,你的第一反应可能是立即重启节点或服务。但请先停下即将敲下reb…...
告别内存访问瓶颈:深入STM32H7的AXI总线矩阵,优化DMA与多核数据流
突破STM32H7性能极限:AXI总线矩阵与DMA调优实战指南 当你在开发基于STM32H7的高性能应用时,是否遇到过这样的困境:理论上400MHz的主频和双精度浮点单元应该轻松应对4K图像处理,但实际运行时却频频遭遇卡顿?摄像头采集的…...
【Android】强大的工作流应用,扣子手机平替版 -vFlow 1.4.8
【Android】强大的工作流应用,扣子手机平替版 -vFlow 1.4.8 链接:https://pan.xunlei.com/s/VOpp2EogpTWqRt1zDYXJR9IgA1?pwdafeb# vFlow是一款专为Android平台打造的强大且高度可扩展的自动化工具。它采用图形化界面,用户能将一系列“动作…...
