【问题标题】:Send mock response based on request header content in soapui根据soapui中的请求头内容发送模拟响应
【发布时间】:2025-12-23 00:40:10
【问题描述】:

我有两个模拟响应,例如:A、B

我想为类似的模拟响应写条件

  • 如果请求标头(例如:“myheader”)值为“a”,则发送 Mock 响应 A
  • 如果请求标头(例如:“myheader”)值为“b”,则发送 Mock 响应 B

【问题讨论】:

  • 你可以使用脚本调度器。

标签: groovy mocking soapui


【解决方案1】:

是的,使用soapui模拟是非常有可能的。

让我们假设当调用一个休息服务时,根据用户的请求头Content-Type值,可能会有不同的响应。

  • xml响应
  • json响应
  • 故障响应

因此,将以上三个响应添加到模拟服务。和用户SCRIPT 作为调度员。

模拟服务脚本如下:

def responseType = mockRequest.request.getHeader('Content-Type')
if (!responseType) {
    return "faultResponse"
}
if ('application/json' == responseType.toLowerCase() || 'json' == responseType.toLowerCase()) {
    return "jsonResponse"   
} 
"xmlResponse"

【讨论】: