骡子 3.6.1 xpath3
Mule 3.6.1 xpath3
我正在尝试将我的 Mule 3.4 CE 应用程序迁移到 Mule 3.6.1 CE,但 xpath3 出现问题。
有效负载:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:itemMessage xmlns:ns2="http://test.com/messages">
<requestId>QAREQ:150623_0002</requestId>
<requestStatus>COMPLETE</requestStatus>
</ns2:itemMessage>
xpath 表达式(有效)
#[xpath('string(//itemMessage/requestId/text())')]
xpath3 表达式(不工作)
#[xpath3('//itemMessage/requestId/text()', payload, 'STRING')]
感谢任何见解。
您的 Xpath 表达式似乎与 XML 文档不匹配。但基于 XML 文档,这是可行的:
<mulexml:namespace-manager
includeConfigNamespaces="true">
<mulexml:namespace prefix="ns2" uri="http://test.com/messages" />
</mulexml:namespace-manager>
<flow name="testFlow">
<poll doc:name="Poll">
<set-payload
value="<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns2:itemMessage xmlns:ns2="http://test.com/messages"> <requestId>QAREQ:150623_0002</requestId> <requestStatus>COMPLETE</requestStatus> </ns2:itemMessage>"
doc:name="Set Payload" />
</poll>
<logger level="INFO" message="#[xpath3('ns2:itemMessage/requestId/text()', payload, 'STRING')]" />
</flow>
我正在尝试将我的 Mule 3.4 CE 应用程序迁移到 Mule 3.6.1 CE,但 xpath3 出现问题。
有效负载:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:itemMessage xmlns:ns2="http://test.com/messages">
<requestId>QAREQ:150623_0002</requestId>
<requestStatus>COMPLETE</requestStatus>
</ns2:itemMessage>
xpath 表达式(有效)
#[xpath('string(//itemMessage/requestId/text())')]
xpath3 表达式(不工作)
#[xpath3('//itemMessage/requestId/text()', payload, 'STRING')]
感谢任何见解。
您的 Xpath 表达式似乎与 XML 文档不匹配。但基于 XML 文档,这是可行的:
<mulexml:namespace-manager
includeConfigNamespaces="true">
<mulexml:namespace prefix="ns2" uri="http://test.com/messages" />
</mulexml:namespace-manager>
<flow name="testFlow">
<poll doc:name="Poll">
<set-payload
value="<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns2:itemMessage xmlns:ns2="http://test.com/messages"> <requestId>QAREQ:150623_0002</requestId> <requestStatus>COMPLETE</requestStatus> </ns2:itemMessage>"
doc:name="Set Payload" />
</poll>
<logger level="INFO" message="#[xpath3('ns2:itemMessage/requestId/text()', payload, 'STRING')]" />
</flow>