2

我的代码使用过滤器中介和 XPATH 函数时遇到问题。我在我的代码中尝试做的是检查一个特定的块是否为空,不要调用/丰富该块并移动到另一个块检查它是否为空,如果不处理它并移动到下一个块并在结束做一个提交。目前我收到的错误是:

FilterMediator 评估 XPath 表达式时出错:fn:exists($body/product/simpleProduct/standardAttributes)

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>

它在 fn:exists() 处失败。你能帮我输入一下我哪里出错了吗?

4

1 回答 1

2

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

于 2013-11-12T22:06:12.310 回答