WSO2 xml 属性 子元素的 xpath

WSO2 xml property xpath to child element

我有以下代码:

<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>

然后我希望在日志中看到值 根=测试111 resultOM.test = 测试 111

虽然 ROOT 值很好,但 resultOM.test 的值是空的。 检索子值的正确 xpath 应该是什么? 使用的 WSO2ESB 版本是 4.5.1.

默认命名空间 (http://ws.apache.org/ns/synapse) 在您创建 OM 类型时定义 属性。所以你需要执行带有命名空间的 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