点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我们定义了一个iFlow,它公开了OData服务并使用了接收方OData服务。 我们希望允许最终用户使用$ filter查询参数来查询此iFlow OData服务。 我们希望iFlow能够从传入的URL中提取$ filter,并将其传递给接收方OData服务。
我们如何做到这一点?
我们认为解决方案涉及以下内容:
$ {header.filter}在" OData Receiver"连接的"处理"选项卡的"自定义查询选项"字段中
但是我们不知道要使用什么$ {header}属性,也找不到任何能够明确标识可用$ {header}属性的文档。
对此事的任何指导表示赞赏。
大家好,
好消息! 在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接收器适配器的查询选项中。
Hello Anil,
您能解释一下如何使用HTTP * sender *通道获取传入的OData查询URL吗? 在我们的用例中,我们有一个HTTP * receiver *通道,该通道正在接收带有OData查询参数的传入OData请求。 对于我们来说,*发件人*是解决方案的一部分是没有意义的。
---安德鲁(Andrew)
您好,Virendra,
请参阅博客 https://blogs.sap.com/2019/08/12/odata-service-in-cpi-for-beginners/#Query
它说明了如何提取每个OData查询选项并将其用作Integration流中的消息头。
BR
Saranya
一周热门 更多>