我很困惑,因为我是嘲笑休息服务的初学者。
我正在使用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脚本编写答案。
答案 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
}
如果您需要,请享受此解决方案。