我想整理 SOAP 标头的某些节点以在 apache camel 中执行粘性负载平衡。为此,我正在使用 xpath,我的 xpath 表达式看起来像这样:
.loadBalance().sticky(xpath("substring(string(/*[local-name()='Envelope']/*[local-name()='Header']/*[local-name()='ReplyTo']/*[local-name()='ReferenceParameters']/*[local-name()='ServiceGroupId']/text()), 10)"))
.to(BE1,BE2);
但是当我执行它时,我得到一个错误:org.apache.camel.builder.xml.InvalidXPathExpression: Invalid xpath:
所以我认为我的 xpath 表达式应该有问题,因此我创建了一个小型 java 程序,它会做同样的事情并执行相同的操作。使用 java,我从我的 xml 中获得了所需的元素。但是我在 apache camel 中遇到了这个错误。
我在这里做错什么了吗?任何帮助将非常感激。