Wiremock: сбой сопоставления XPath

#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 вы используете? Возможно, вы добавляете в свое отображение что-то еще, что может вызвать проблему?