我正在尝试验证来自服务器的有效负载响应,
soap()
.server(todoServer)
.send()
.payload(new ClassPathResource("templates/getTodoListResponse.xml"));
是否有办法使用SoapActionBuilder
进行如下所示的字段级验证http()
.client(todoClient)
.receive()
.response(HttpStatus.OK)
.validate("/t:todo/t:id", "${todoId}")
.validate("/t:todo/t:title", "${todoName}")
.validate("/t:todo/t:description", "${todoDescription}")
.validate("/t:todo/t:done", "false");
答案 0 :(得分:0)
SoapActionBuilder也可以使用XPath元素验证。
soap()
.client(todoClient)
.receive()
.validate("/t:todo/t:id", "${todoId}")
.validate("/t:todo/t:title", "${todoName}")
.validate("/t:todo/t:description", "${todoDescription}")
.validate("/t:todo/t:done", "false");
请注意,SOAP信封会在Citrus客户端中自动处理。因此,您的XPath表达式能够将有效负载根元素用作表达式的根基路径。您还可以告诉Citrus 不会自动处理SOAP信封。然后你的XPath表达式需要使用SOAP-ENV:Envelope
作为根元素。