#xpath #wiremock
Вопрос:
Я пытаюсь использовать Wiremock для сопоставления запросов.
Этот путь совпадения верен, когда я задаю значение = 1
"bodyPatterns": [{
"matchesXPath" : "//ipgapi:IPGApiOrderRequest[./v1:Transaction=1]",
"xPathNamespaces": {
"ipgapi": "http://ipg/ipgapi",
"v1": "http://ipg/v1"
}
Это XML-файл
<ipgapi:IPGApiOrderRequest
xmlns:v1="http://ipg/v1"
xmlns:ipgapi="http://ipg/ipgapi">
<v1:Transaction>1</v1:Transaction>
</ipgapi:IPGApiOrderRequest>
Но когда я хочу изменить значение с 1 на abc, оно возвращается не совпадающим.
"bodyPatterns": [{
"matchesXPath" : "//ipgapi:IPGApiOrderRequest[./v1:Transaction='abc']",
"xPathNamespaces": {
"ipgapi": "http://ipg/ipgapi",
"v1": "http://ipg/v1"
}
Это XML-файл
<ipgapi:IPGApiOrderRequest
xmlns:v1="http://ipg/v1"
xmlns:ipgapi="http://ipg/ipgapi">
<v1:Transaction>abc</v1:Transaction>
</ipgapi:IPGApiOrderRequest>
Могу я узнать, какую ошибку я совершил, пытаясь выполнить сопоставление abc ? Спасибо за помощь !
Комментарии:
1. Ваши пространства имен не совпадают. Попробуй сначала это исправить.
2. Уже исправлено, по-прежнему не удается передать совпадение результатов
3. Я протестировал код, предоставленный с помощью WireMock 2.26.3, и мне удалось получить успешное совпадение. Какую версию WireMock вы используете? Возможно, вы добавляете в свое отображение что-то еще, что может вызвать проблему?