我在xpath上使用字符串操作,而geting不是有效的xPath表达式。
{{#assign 'promoCode'}}{{xPath request.body "//*[substring-after(local-name()='commonOrderId','ABC')]"}}{{/assign}}
{{#assign 'promoCode'}}{{xPath request.body "substring-after(//*[local-name()='commonOrderId'],'ABC')"}}{{/assign}}
也尝试了字符串操作,但这些(子字符串,子字符串之后)均无效。
参考XPath wildcards on node name,仍然没有运气。
substring-after在任何xpath测试器上进行验证时都可以正常工作,但是,它不适用于Wiremock,我正在使用独立进程2.23.2运行
当我查看Wiremock日志时,看到了原因:com.sun.org.apache.xpath.internal.XPathException: Can not convert #STRING to a NodeList!
。以下是示例请求xml:
<osn:OrderId>
<osn:commonOrderId>ABC3534534345435</osn:commonOrderId>
</osn:OrderId>
谢谢。