模拟休息 - 服务响应(json和xml),使用soapui

时间:2014-02-18 10:03:41

标签: json rest groovy mocking soapui

我很困惑,因为我是嘲笑休息服务的初学者。

我正在使用soapui来模拟休息服务。为此,我需要编写一个脚本(OnRequest Script)来模拟对我的请求的响应。

所以,我想模拟两种类型的响应:application / json和application / xml。但我不想读任何响应文件。我只想在脚本中编写响应(OnRequest Script,在soapui中)。

通过阅读响应文件,我找到了一种方法。在我的情况下,我不需要读取任何文件,而是将响应写入脚本(OnRequest Script,在soapui中)。

有人说我可以像这样使用groovy:

if (mockRequest.getMethod() == "GET" && mediaType=="application/xml"){
mockRunner.returnFile(httpResponse,new File(path + "test.xml"))
    log.info "Response returning for Content-Type application/xml"
    return new com.eviware.soapui.impl.wsdl.mock.WsdlMockResult(mockRequest)    
}

但该示例确实读取了一个文件,我想使用groovy但只能用groovy脚本编写答案。

1 个答案:

答案 0 :(得分:4)

我终于找到了解决方法:

if (mockRequest.getMethod() == "GET" && mediaType=="application/xml"){
    WsdlMockResult mockResult = new WsdlMockResult(mockRequest)
    def httpResponse = mockRequest.httpResponse
    httpResponse.setContentType("application/xml;charset=utf-8")
    httpResponse.writer << "<root><user>ABC</user></root>"
    httpResponse.status = 200
    return mockResult
}

如果您需要,请享受此解决方案。