【发布时间】:2019-04-17 17:37:22
【问题描述】:
我想为端点创建 SoapUI 模拟服务:“/product/123456/details/”。这里 123456 是路径变量。 我创建了一个soap ui模拟服务,路径为“/product/”,作为回应,我只是返回路径(仅用于测试)。 当我在 SoapUI 的 8210 端口上运行这个模拟服务时,点击“http://localhost:8210/product/123456/details”效果很好。 我收到以下回复。
"/product/123456/details"
但是当我在运行在 8080 端口的 tomcat 中将其部署为 mymockwar 战争时, 如果我点击“http://localhost:8080/mymockwar/product/123456/details/”, 然后我得到如下响应。
<html>
<head>
<title>soapUI MockServices Log for project [MyNewMock]</title>
</head>
<body>
<h3>Log is disabled.</h3>
</body>
</html>
现在,如果我点击“http://localhost:8080/mymockwar/product/”,它会起作用并给我回复
"/product/"
在 tomcat 中部署时如何使用路径变量? Tomcat版本:7.0.22 SoapUI 版本:4.5.2
下面的模拟服务 xml。
<?xml version="1.0" encoding="UTF-8"?>
<con:soapui-project xmlns:con="http://eviware.com/soapui/config" activeEnvironment="Default" name="MyNewMock" resourceRoot="" soapui-version="4.5.2" abortOnError="false" runType="SEQUENTIAL">
<con:settings />
<con:mockService port="8210" path="/product/" host="localhost" name="testSoapMock" bindToHostOnly="false" docroot="">
<con:settings>
<con:setting id="com.eviware.soapui.impl.wsdl.mock.WsdlMockService@require-soap-action">false</con:setting>
</con:settings>
<con:properties />
<con:onRequestScript>def method = mockRequest.method;
def path = mockRequest.path;
log.info path
def response = mockRequest.getHttpResponse()
response.setContentType("application/json")
def writer = response.getWriter();
writer.write(path)
writer.close()</con:onRequestScript>
</con:mockService>
<con:properties />
<con:wssContainer />
</con:soapui-project>
【问题讨论】:
-
tomcat日志有异常吗?
-
没有。日志中没有异常
标签: rest tomcat mocking soapui