如何在SoapUI Mock Server中解决CORS跨域访问错误?
解决SoapUI Mock Server的CORS跨域问题
方法一:给单个Mock Response添加CORS响应头
- 打开SoapUI,定位到
api/application/version接口对应的Mock Response - 切换到Headers标签页,手动添加以下响应头:
Access-Control-Allow-Origin:http://localhost:4200(若要允许所有来源可用*,生产环境不推荐)Access-Control-Allow-Methods:GET, POST, OPTIONSAccess-Control-Allow-Headers:Content-Type
- 保存配置后重启Mock Server,重新发起请求测试
方法二:全局配置Mock Server自动添加CORS头
- 右键点击你的Mock Service,选择Edit MockService
- 在弹出窗口的Script标签页中,找到
OnRequest脚本区域,添加以下Groovy代码:
// 添加基础CORS响应头 mockRequest.httpResponse.headers.add("Access-Control-Allow-Origin", "http://localhost:4200") mockRequest.httpResponse.headers.add("Access-Control-Allow-Methods", "GET, POST, OPTIONS") mockRequest.httpResponse.headers.add("Access-Control-Allow-Headers", "Content-Type") // 处理OPTIONS预检请求 if (mockRequest.httpMethod == "OPTIONS") { mockRequest.httpResponse.status = 200 return new com.eviware.soapui.impl.wsdl.mock.WsdlMockResult(mockRequest) }
- 保存设置后重启Mock Server,所有接口都会自动携带CORS头
方法三:浏览器插件临时绕过(仅开发测试用)
- 安装Chrome的CORS插件(如CORS Unblock),启用后可临时绕过浏览器的CORS限制
- 此方案仅适合本地开发测试,不能用于生产环境
内容的提问来源于stack exchange,提问作者Edson Vicente Carli Junior
相关产品推荐
相关产品推荐

