我们倾向于使用 TPE 进行 BAM 跟踪,因为它可以独立于我们的编排进行部署。
但是,在我们的流程中,我们需要跟踪一个消息负载属性,该属性与消息的根 XML 元素具有 1:N 的关系。
尽管存在 1:N 关系,但仅提取此属性的第一个值就足以满足我们的跟踪需求。
像往常一样,如果我们尝试跟踪它,则会记录以下 XLANG 消息:
AmbiguousXPathException - The result set for the XPath expression ...
contains more than a single node
我们尝试直接修改 BTT XPath 以仅选择此属性的第一个实例
我试过了
'XPath="//*[local-name()='Property' and namespace-uri()='{URI}' ...]/[1]'
但随后得到错误“表达式必须评估为节点集”
更简单
'//Property[1]' and '//Property[position() = 1]'
没有错误,但这也不会拉出我的财产。
最后,谁能解释 BTT 文件中 XPath 和 SomXPath 之间的区别?