REST适配器中的XPath表达式

2020-09-08 03:56发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我正在尝试在XPa...

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

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


专家您好,

我正在尝试在XPath Expression中使用子字符串函数进行模式替换。

根据下面的wiki,我们可以在"接收方确定"条件编辑器中使用它

https://wiki.scn.sap.com/wiki/display/XI/Xpath+Condition+in+Receiver+Determination

但是当我尝试在使用XPath Expression的Receiver REST适配器中将其应用于模式替换时,它无法正常工作,请为我提供指导。

我尝试使用XPath表达式使用模式替换为我的REST URL动态添加查询字符串

预期的URL:http://host:port/service/path?sid = {SID}&recipient = {RCVPRN}&sender = {SNDPRN}

我尝试了几种方法,但是都没有给出预期的结果。

/INVOIC02/IDOC/EDI_DC40 [substring(SNDPRN,1,3)]

/INVOIC02/IDOC/EDI_DC40 [substring(//SNDPRN,1,3)]

/INVOIC02/IDOC/EDI_DC40 [substring(SNDPRN,1,3)]/SNDPRN

我尝试给substring函数提供1个参数,以检查是否可以在xpath中应用该函数,然后出现以下异常。

XPath:/INVOIC02/IDOC/EDI_DC40 [substring(SNDPRN)]

"/img/INVOIC02/IDOC/EDI_DC40 [substring(SNDPRN)]"; 消息:" javax.xml.transform.TransformerException:com.sun.org.apache.xpath.internal.functions.FuncSubstring仅允许2或3个参数-com.sun.org.apache.xpath.internal.functions.FuncSubstring仅允许 2或3个参数"

这意味着我们可以应用此子字符串函数,但不确定如何将xpath作为参数(在我的情况下为SNDPRN)传递给子字符串函数

注意:我不能在此处使用映射

请对此进行指导。

一如既往

纳吉什

rest-poc-xpath-with-substring.jpg (69.6 kB)
6条回答
亦是此间程序员
2020-09-08 04:42

嗨Nageshwara,

如果您想要SNDPRN的前3个字符,则可以使用以下表达式。

substring(//SNDPRN,1,3)

子字符串(/ZPM_ORDER02/IDOC/EDI_DC40/SNDPRN,1,3)

一周热门 更多>