关于使用 SAP CPI 暴露 S/4HANA SalesOrder API 引起的一个错误问题分析

我的 SAP 技术交流知识星球里有朋友提问:

我们用BTP CPI包了一个S4 HANA CLOUD的销售订单创建的API服务,在POSTMAN中测试时显示SalesOrderDate的读值有错误。看来看去看不出原因来。请大神帮忙看看。

我们仔细分析这个问题,发现错误 code 里包含一个 ABAP 异常:CX_SXML_PARSE_ERROR

还有一段错误消息:

Failed to read property “SalesOrderDate” at offset 382.

这个 ABAP 异常预示着 XML 解析过程中发生了错误:

结合异常消息,说明在 XML 文档的某个位置(offset 382)出现了问题,无法读取属性 SalesOrderDate

联想到提问者使用了 SAP CPI 来暴露 S/4HANA Cloud SalesOrder creation API,那么我的建议是,首先进行问题隔离,不通过 CPI,而是直接消费 S/4HANA Cloud 的 API,看看在这个系统上的 Sales Order 创建是否能够正常工作。

如果能够正常工作,那么说明问题出在 CPI 这段。此时需要在 SAP CPI 中检查 API 配置,特别是 API 转换步骤。确保正确映射 SalesOrderDate 属性,并且数据在转换过程中没有被意外修改。

也可以查看 SAP CPI 的日志以获取更多详细信息,以确定问题的根本原因。

如果直接消费 S/4HANA Cloud Creation API 都不行,那么这个问题就同 CPI 无关了,此时的精力要放在检查 S/4HANA 系统的 API 暴露的配置步骤上。

猜你喜欢

转载自blog.csdn.net/i042416/article/details/132878396