云平台与OData的集成-如何处理传入的$ filter查询参数

2020-08-31 05:05发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我们定义了一个iFlow,它公开...

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

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


我们定义了一个iFlow,它公开了OData服务并使用了接收方OData服务。 我们希望允许最终用户使用$ filter查询参数来查询此iFlow OData服务。 我们希望iFlow能够从传入的URL中提取$ filter,并将其传递给接收方OData服务。

我们如何做到这一点?

我们认为解决方案涉及以下内容:

$ {header.filter}在" OData Receiver"连接的"处理"选项卡的"自定义查询选项"字段中

但是我们不知道要使用什么$ {header}属性,也找不到任何能够明确标识可用$ {header}属性的文档。

对此事的任何指导表示赞赏。

15条回答
SAP小菜
2020-08-31 05:37

嗨,凯文,

我们现在能够将标头和属性的内容转储到日志中,但是,无法从日志中找到负责捕获通过url传递的过滤器值的任何键/变量。 例如,以下是当前OData服务iFlow的标题列表详细信息。

null accept-language en-US,en; q = 0.9,gu; q = 0.8

ODataContext org.apache.olingo.odata2.core.ODataContextImpl@501b8ee3 odataEntity客户ODataMethod GET_FEED odataURI空SAP_MessageProcessingLogID AFy_xY3nU4CZP0GUMwfhjwAyYXip脚本文件script2.gsh脚本文件类型groovy。 -对于50.101.108.120

将过滤器传递给常规HTTP集成流的相同尝试将检索以下标头内容,该内容似乎正确地在标头中传递了过滤器值,因为我们可以看到CeqHttpQuery中捕获了ID eq'RAVAL',如下所示。

空CamelHttpMethod GET CamelHttpPath CamelHttpQuery $ filter = ID%20eq%20%27RAVAL%27 CamelHttpUrl https://c0908-iflmap.hcisb.int.sap.eu2.hana.ondemand.com/http/pogo CamelServletContextPath/pogo SAP_MessageProcessingLogID AFy_bxZ9Qd5hRZKz6n53-3VDJF6c脚本文件 POGO_script.gsh scriptFileType groovy

..想知道如何在OData集成流程中获得像CamelHttpQuery这样的元素。

一周热门 更多>