SAP接口错误排查:XML反序列化数据丢失问题定位与解决
问题描述
请求参数
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Body><ZFN_SD_I_001 xmlns="urn:sap-com:document:sap:rfc:functions"><ET_ITEM xmlns=""></ET_ITEM><IT_ITEM xmlns=""><item><EXTERNALSYSTEM>DD26101300266</EXTERNALSYSTEM><KUNNR>A2563001</KUNNR><EINDT>2026-10-14</EINDT><MATNR>5225010001</MATNR><MENGE>3695.09</MENGE><MEINS>斤</MEINS><VERKF>admin</VERKF><EXTERNALREFERENCEID>糖纳红豆5袋小爱酸奶24瓶丘比油醋汁600包烟雨龙井1包比比赞海苔30罐凯撒沙拉汁600包维记咖啡伴侣3包蓝山咖啡粉20包香椰水12盒玉米面条6斤</EXTERNALREFERENCEID><STARTDATE></STARTDATE><ENDDATE></ENDDATE></item><item><EXTERNALSYSTEM>DD26101300266</EXTERNALSYSTEM><KUNNR>A2563001</KUNNR><EINDT>2026-10-14</EINDT><MATNR>2030010001</MATNR><MENGE>1412</MENGE><MEINS>斤</MEINS><VERKF>admin</VERKF><EXTERNALREFERENCEID>哈密瓜29斤圣女果15斤冬枣3斤西芹38斤咸鸭蛋20个猪大肠头20斤干百合3斤橄榄菜6瓶中邦辣椒酱6瓶</EXTERNALREFERENCEID><STARTDATE></STARTDATE><ENDDATE></ENDDATE></item></IT_ITEM><ZRESERVED01 xmlns=""></ZRESERVED01><ZRESERVED02 xmlns=""></ZRESERVED02><ZRESERVED03 xmlns=""></ZRESERVED03></ZFN_SD_I_001></Body></Envelope>
响应信息
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"><soap-env:Header/><soap-env:Body><soap-env:Fault><faultcode>soap-env:Server</faultcode><faultstring xml:lang="zh">Web 服务处理错误; 提供者端 Web 服务错误日志中的更多详细信息 (世界协调时间时戳 20261016034545;事务标识 E1161B3A7AEA0150E006A87C4D886378)</faultstring><detail/></soap-env:Fault></soap-env:Body></soap-env:Envelope>
排查
错误关键信息
记录关键信息:从错误响应中提取 世界协调时间时戳 20261016034545 和 事务标识 E1161B3A7AEA0150E006A87C4D886378。
登录SAP系统查询日志
进入事务代码SE16N查看表SRT_UTIL_ERRLOG, EPP Transaction ID值输入事务标识
查询出错误日志明细 
核心错误定位 关键信息在 Error Short Text 和 ABAP Name of Consumer Proxy 两列:
错误短文本:转换 糖纳红豆5袋小爱酸奶24瓶丘比油醋汁6... 时发生数据丢失。
报错位置:ZFN_SD_I_001 接口,具体在 SXML_PARTS 组件中。
这说明系统在把 XML 报文反序列化为 ABAP 数据时,发现某个字段的内容超过了系统定义的长度,或者数据类型不匹配,导致无法完整转换而报错。
错误确认
进入接口函数查看导入参数,EXTERNALREFERENCEID字段长度定义是70,但是请求参数中,最大长度却给了73,所以就抛异常了
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
sap-abap 张国生
