有没有办法在Citrus-framework中作为客户端或服务器发送原始soap请求和响应?我有一个soap请求的纯文本,并希望将其发送到服务器。然后,我想验证纯文本/ xml响应。
向您致敬,可疑的Dee
发布于 2018-08-25 05:45:21
你检查过这个sample project了吗?这是如何使用Citrus测试SOAP端点的一个很好的例子。基本上,当您发送带有soap()操作的XML时,它将被包装在SOAP信封中。Citrus在幕后处理所有SOAP技术细节,因此您可以保持测试的简单性。
但这也取决于您所说的“原始soap请求和响应”是什么意思。如果希望完全控制整个XML (SOAP信封+正文),可以使用标准的HTTP操作documentation & sample project。在使用此方法时,您需要了解一些事情:
发布于 2018-09-03 15:50:30
默认情况下,Citrus将自动处理SOAP信封,并为您包装/展开有效负载主体。如果您希望保持SOAP信封的原样,以便自己提供整个SOAP消息,则需要在服务器端点上设置以下内容:
<citrus-ws:server id="soapServer"
port="8080"
auto-start="true"
keep-soap-envelope="true"/>使用keep-soap-envelope="true",您现在可以在处理此服务器端点上的消息时自行指定SOAP信封。在验证中,您现在可以提供整个SOAP信封作为预期的消息内容。
在客户端,您需要使用Citrus中的普通http-client组件,因为soap-client组件目前不能保留SOAP信封。
当然,也可以使用客户端和服务器端的核心http组件来发送和接收带有测试人员提供的SOAP信封的SOAP消息。
https://stackoverflow.com/questions/52005398
复制相似问题