云平台与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条回答
黑丝骑士
2020-08-31 05:34 .采纳回答

大家好,

好消息! 在Odata发送方通道之后,将以下代码添加到默认groovy脚本中,此问题已解决。

if(uriInfo.getFilter()!= null){

def filter = uriInfo.getFilter()。getExpressionString();

if(odataURI.size()!= 0)

odataURI.append(urlDelimiter);

odataURI.append(" \ $ filter =")。append(filter);

log.logErrors(LogMessage.TechnicalError,"过滤器值:" + filter);

}

此后,将$ {Header.odataURI}添加到OData接收器适配器的查询选项中。


一周热门 更多>