繁体   English   中英

使用空键字段查询 OData v2 时出现“404 - 未找到资源”

[英]"404 - Resource not found" when query OData v2 with empty key field

我有一个通过网关公开并托管在 APIM 上的 SAP CDS 视图。 此 CDS 使用 @ObjectModel 注释启用了 CRUD 操作。

根据业务流程,CDS(SAP 表)中的关键字段之一可以为空,但是当我尝试通过 APIM 服务(具有空属性)查询此完整键时,我收到 404 - 找不到资源:

来自 APIM 的查询

同样的查询在 SAP Gateway 中运行良好:

直接来自 SAP Gateway 的相同查询

我应该怎么做才能让 APIM 明白这个关键字段可以接收空值(或 null?)?

从 APIM 服务和网关查询中看到这一点很有趣,给定相同的查询参数,结果不同,对我的唯一解释是在 ABAP 端进行了转换,导致无法加载结果。 当您使用 APIM 客户端时,ABAP 尝试查询数据时,您能否在 ABAP 端启用网关跟踪以检查确切的请求? 使用事务 /IWNFD/TRACES 在 ABAP 端查看您的用户的跟踪。

问候,德里克

感谢您的回答!

我们发现这可能是 APIM 映射问题,因为当我们在路径 (charg='') 上设置一个空键时,我们甚至没有到达 SAP Gateway 就收到了 404:

来自 APIM 的状态为 404 的消息

但是当我们用空白/空格 (charg=' ') 设置相同的参数时,它工作正常并且它在 S4 表上找到条目:

来自 SAP 的状态为 200 的消息

我怎么知道它没有达到 S4? 首先,因为跟踪没有捕捉到任何东西,其次,因为来自 S4 的 404 消息是不同的:

来自 SAP 的状态为 404 的消息

谢谢你们!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM