Reap的Soap UI Mock服务在部署为war时不起作用

问题描述 投票:1回答:1

我想为端点创建SoapUI模拟服务:“ / product / 123456 / details /”。这里123456是路径变量。我创建了一个SOAP ui模拟服务,其路径为“ / product /”,作为回应,我只是给出了路径(仅供测试)。当我在端口8210上的SoapUI中运行此模拟服务时,点击“ 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.22SoapUI版本: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>
rest tomcat mocking soapui
1个回答
0
投票

我正好遇到了您的异常,解决方案是url中的名称和xml requst中的名称,它们应该相同。或名称冲突

例如:

URL:http://localhost:8088/mocks/queryBalance

请求:101ecare01Admin123!90011511661998

URL为queryBalance时,它返回您的异常

© www.soinside.com 2019 - 2024. All rights reserved.