我正在用Wiremock创建存根。如果我在xml中有xmlns,那么它不匹配,没有它就可以了。
请求
curl -d '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><a xmlns="http://www.example.com/namespaces/ad"><b>1</b><c>2</c><d>9407339517</d></a>' -i -H "Content-Type: text/xml" -X POST "http://localhost:8080/test"
存根Json
{
"request": {
"method": "POST",
"url": "/test",
"headers" : {
"Content-Type" : {
"equalTo" : "text/xml"
}
},
"bodyPatterns" : [ {
"matchesXPath" : "/stuff:a[b='1'][c='2']",
"xPathNamespaces" : {
"stuff" : "http://www.example.com/namespaces/ad"
}
} ]
},
"response": {
"body": "Hello world!",
"status": 200
}
}
沿着上述方式,我也尝试使用local-name()。
答案 0 :(得分:1)
(父)父级上存在命名空间时,(子代)子级上继承同一个命名空间。因此,您的/b
和/c
应该以{{1}}或/stuff:b
/stuff:c