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
我有以下代码:
<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