到子元素的wso2xml属性xpath



我有以下代码:

<property name="resultOM" scope="default" type="OM">
    <test><test1>testing111</test1></test>
</property>
<log level="full">
    <property name="ROOT" expression="$ctx:resultOM" />
    <property name="resultOM.test" expression="$ctx:resultOM//test1" />
</log>

那么我希望在日志中看到值ROOT = testing111resultOM。Test = testing111

,虽然ROOT值是可以的,但是resultOM的值。Test为空。检索子值的正确xpath应该是什么?使用的WSO2ESB版本为4.5.1。

在创建OM类型属性时定义默认命名空间(http://ws.apache.org/ns/synapse)。因此需要对名称空间执行xpath表达式。试试这个,

<log level="full">
   <property name="ROOT" expression="$ctx:resultOM"/>
   <property name="resultOM.test" xmlns:ns="http://ws.apache.org/ns/synapse" expression="$ctx:resultOM//ns:test1"/>
</log>

阅读[1]了解更多细节。

[1] http://isharapremadasa.blogspot.com/2014/08/wso2-esb-property-mediator-performing.html

最新更新