当前位置: 首页 > 知识库问答 >
问题:

请求正文匹配与无线独立中的XML声明

翟光赫
2023-03-14

我有一个在 ./映射/*.json 文件中描述的存根。

"request": {
        "method": "POST",
        "url": "/some/thing",
        "bodyPatterns" : [ {
                "matchesXPath" : {
                    "expression": "//nodeA/text()",
                    "contains": "999"
                }
            } ]
    }

Wiremck(ver.2.26.2)以独立模式启动。当我这样调用服务时:

curl -d "<request><nodeA>999</nodeA></request>" -X POST http://localhost:8888/some/thing

我正在按预期从存根获得响应。问题是请求必须使用XML声明标签发送,例如

curl -d "<?xml version="1.0" encoding="UTF-8"?><request><nodeA>999</nodeA></request>" -X POST http://localhost:8888/some/thing

在这种情况下,请求不匹配。我试图在留档中找到smth,但到目前为止没有成功。

共有1个答案

乐正浩宕
2023-03-14

我发现问题出在我使用的curl上。它格式错误,因为我在XML声明中使用了相同的双引号。现在我从文件中加载请求正文,一切正常curl-H"Content-Type: application/xml"-d"@path_to_request_file"-X POSThttp://localhost:8888/some/thing

 类似资料:
  • 我正在尝试使用独立的wiremck创建API模拟。响应正文取决于请求正文中的属性。 使用JSON,我能够做到。这是示例映射: 然而,我的主要需求是处理google protobuf,我正试图使用文本格式来代替它,模仿者将使用它来模仿API的响应。因此,请求文件是文本格式的,没有任何JSON验证,比如双引号,或者每行末尾的逗号等等。 我发现,使用JSON路径,wiremock由于格式不正确而无法匹配

  • 问题内容: 我有一个要解析的xml,进行了一些更改并将其保存到新文件中。它有我要保留的声明。当我保存新文件时,我失去了一点。我如何保留它?这是我的代码: 问题答案: 您可以将关键字参数传递给:

  • 我正在使用wiremock设置一个虚拟PHP服务器,并希望根据传递的一个XML字段进行匹配。我基本上会有多个请求进入同一个url,但它们之间的主要区别是发票号。wiremock的JSON如下所示 当我使用Postman并只传递带有

  • 我们正在使用Swagger、AWS API网关和Lambda函数与NodeJS构建API。API网关将进行请求验证,但是根据设计,lambda函数需要将请求对象重新验证为API网关代理请求事件。这是有意义的,因为理论上我们可以通过其他事件源(例如SNS)调用lambda函数来重用它们。 因此,我们需要一个NodeJS工具,它可以根据swagger规范验证请求(不仅是正文,还有参数等)-正是swag

  • 我正在研究Spring Cloud和Spring OAuth2,方法是分解这个GitHub示例中的三个相互连接的应用程序。当我在应用程序中打开endpoint,然后使用从应用程序调用它时,应用程序的调试日志在拒绝注销请求时会给出以下错误消息: 当应用程序从调用注销函数时,为了使全局注销成功,需要对示例GitHub应用程序中的代码进行哪些具体更改? 初步努力: 到目前为止,我所做的更改包括: 但是,

  • 我正在使用Spring云合同创建集成测试。从配置到将存根jar添加到项目,一切都正常工作。因此,我发现尽管所有参数和标头都相同,但请求不匹配。 这是API测试 这是API调用的合约 即使我从合同请求中删除用户名,仍然收到相同的错误。 我需要为X-B3-ParentSpanId等创建标题来使其匹配吗?