我正在构建一个集成组件,在其中接收包含以下节点的XML:
<ns1:healthcareVisitDateTime>
<ns1:careVisitDate>20181003</ns1:careVisitDate>
</ns1:healthcareVisitDateTime>
我正在使用以下表达式提取ns1:careVisitDate的值:
xpath('//urn2:careVisitDate/text()').text
我的问题是,这在大多数情况下都可以正常工作,但是在某些情况下,在600次运行中有8次崩溃并显示以下堆栈跟踪信息:
Stacktrace=org.mule.api.expression.ExpressionRuntimeException: Execution of the expression "xpath('//urn2:careVisitDate').text" failed.
at org.mule.el.mvel.MVELExpressionLanguage.evaluateInternal(MVELExpressionLanguage.java:218)
at org.mule.el.mvel.MVELExpressionLanguage.evaluate(MVELExpressionLanguage.java:179)
at org.mule.expression.DefaultExpressionManager.evaluate(DefaultExpressionManager.java:234)
at org.mule.expression.DefaultExpressionManager.evaluate(DefaultExpressionManager.java:186)
at org.mule.util.AttributeEvaluator.resolveValue(AttributeEvaluator.java:77)
CauseException: [Error: could not access: text; in class: java.util.ArrayList]
[Near : {... xpath('//urn2:careVisitDate'). ....}]
这可能是什么原因?传入的XML文件都遵循相同的xsd,我找不到有效的文件和无效的文件。