XPATH函数上的过滤器中介

XPATH函数上的过滤器中介,xpath,filter,wso2esb,Xpath,Filter,Wso2esb,我在使用过滤器中介器和XPATH函数的代码中遇到了一个问题。我在代码中尝试做的是检查某个特定块是否为空,不要调用/充实该块并移动到另一个块检查它是否为空,如果不是,则处理它并移动到下一个块,最后执行提交。目前我得到的错误是: FilterMedia计算XPath表达式时出错:fn:exists($body/product/simpleProduct/standardAttributes) 我的代码如下: 它在fn:exists()处失败。您能帮助我输入错误在哪里吗?显然,您使用的函数是xpat

我在使用过滤器中介器和XPATH函数的代码中遇到了一个问题。我在代码中尝试做的是检查某个特定块是否为空,不要调用/充实该块并移动到另一个块检查它是否为空,如果不是,则处理它并移动到下一个块,最后执行提交。目前我得到的错误是:

FilterMedia计算XPath表达式时出错:fn:exists($body/product/simpleProduct/standardAttributes)

我的代码如下:

它在fn:exists()处失败。您能帮助我输入错误在哪里吗?

显然,您使用的函数是xpath 2函数。OOTB xpath 2函数在ESB中不起作用。如果这是xpath2,则必须启用它。要启用xpath 2,请在synapse.properties文件中为未注释的synapse.xpath.dom.failover.enabled=true

My code is as follows:
<inSequence>
         <log level="custom">
            <property name="STATUS" value="************ REQUEST ***************"/>
         </log>
         <transaction action="new"/>
         <filter xpath="fn:exists($body/product/simpleProduct/standardAttributes)">
          </filter>           
         <enrich>
            <source type="body" clone="true"/>
            <target type="property" property="MSG_PAYLOAD"/>
         </enrich>
         <log level="full"/>
         <xslt key="simpleAttributes"/>
         <log level="custom">
            <property name="STATUS"
                      value="*********INSERTING Simple Product Attributes *************"/>
         </log>

</inSequence>