SAP API管理ODATA调用中"/"的处理

2020-09-16 19:03发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在通过SAP API管理呼叫本地ODATA服务,并且一切正常。 但是我对ODATA URLS中的特殊字符"/"(斜杠)有疑问:

/functionalLocations(applicationId ='MA',id ='0001/00001/00001')"; 

调用此实体会导致SAP Gateway错误:

 400-UngültigesURI段

如果我将URL编码为"%2F"替换为"/",则会得到

/functionalLocations(applicationId ='MA',id ='0001%2F00001%2F00001')"; 

如果我在不使用SAP API管理的情况下直接将请求直接调用到SAP Gateway,这将很好地工作。

如果我通过SAP API Management调用了URL编码的ODATA请求,则会收到错误代码400,而没有任何错误文本。 所以我不知道这里出了什么问题?

其他所有特殊字符(例如"-"(%2D))都可以正常工作。

那么如何在SAP API Management中传递"/"?

最好的问候

克里斯

screenerrorodata.jpg (63.1 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在通过SAP API管理呼叫本地ODATA服务,并且一切正常。 但是我对ODATA URLS中的特殊字符"/"(斜杠)有疑问:

/functionalLocations(applicationId ='MA',id ='0001/00001/00001')"; 

调用此实体会导致SAP Gateway错误:

 400-UngültigesURI段

如果我将URL编码为"%2F"替换为"/",则会得到

/functionalLocations(applicationId ='MA',id ='0001%2F00001%2F00001')"; 

如果我在不使用SAP API管理的情况下直接将请求直接调用到SAP Gateway,这将很好地工作。

如果我通过SAP API Management调用了URL编码的ODATA请求,则会收到错误代码400,而没有任何错误文本。 所以我不知道这里出了什么问题?

其他所有特殊字符(例如"-"(%2D))都可以正常工作。

那么如何在SAP API Management中传递"/"?

最好的问候

克里斯

screenerrorodata.jpg (63.1 kB)
付费偷看设置
发送
3条回答
哎,真难
1楼-- · 2020-09-16 19:45

嗨克里斯托弗

最好与产品开发团队联系,以便他们可以详细研究该问题。 请在OPU-API-DT组件上引发事件或BCP故障单。

分享一些可以帮助您确定问题的故障排除选项:-

a)在API管理端,您可以使用附加到目标结束后流程请求流的JavaScript策略来跟踪target.url参数,然后将其记录在调试工具中的传出目标url,这样您就可以看到 传出目标网址。

a)如果请求为400,则检查网关日志中的错误是什么。 如果您可以访问网关端的http跟踪日志,则也可以看到传入的目标URL。

感谢和问候,

Divya

Climb_Ma
2楼-- · 2020-09-16 19:54

嗨Divya,

我就此事提出了一个问题,伙计们修复了它。 所以它现在正在工作。

最诚挚的问候,

Chris

梦想连接
3楼-- · 2020-09-16 19:43

嗨Divya,

再次感谢您的回答。

变量" target.url"为空。 变量" request.uri"显示:

 .../RX_SRV/tenantStatus(firstName ='J%C3%BCrgen',lastName ='Mustermann',email ='test @ test.de',contractNr = '99%2F4-1-00004',contractDate  = datetime'2012-01-01T00:00:00')?%24format = json&%24select = statusId%2CcallId 

转义符号"%2F"正在终止该请求。

该请求永远不会到达我的后端,因此SAP网关中没有可用的日志。 如果我在不使用API​​管理的情况下直接将相同的reuqest发送到我的后端,则工作正常。 因此,这似乎是API管理中的问题。

在调试控制台中,我看到以下错误:

我宣布了这一事件,希望大家能帮助我。

最好的问候

克里斯

一周热门 更多>