有没有办法在Citrus框架中以客户端或服务器的形式发送原始的肥皂请求和响应?我有一个肥皂请求的纯文本,并想将其发送到服务器。之后,我想验证纯文本/ xml-响应。
关于, 可疑迪伊
答案 0 :(得分:0)
您检查了此sample project吗?这是如何使用Citrus测试SOAP端点的一个很好的例子。基本上,当您发送带有soap()
操作的XML时,它将被包装在SOAP信封中。 Citrus处理了所有SOAP技术细节,从而使您的测试变得简单。
但这还取决于您所说的“原始请求和响应”的含义。如果要完全控制整个XML(SOAP信封+正文),可以使用标准的HTTP操作documentation和sample project。使用这种方法时,您需要了解一些事情:
答案 1 :(得分:0)
默认情况下,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消息。