Сервис Soap UI Mock for Rest не работает при развертывании как война - PullRequest
0 голосов
/ 17 апреля 2019

Я хочу создать фиктивный сервис SoapUI для конечной точки: "/ product / 123456 / details /". Здесь 123456 является переменной пути. Я создал службу фиктивного пользовательского интерфейса мыла с путем как "/ product /", и в ответ я просто возвращаю путь (только для тестирования). Когда я запускаю этот фиктивный сервис в SoapUI на порту 8210, и нажатие "http://localhost:8210/product/123456/details" работает отлично. Я получаю ответ ниже.

"/product/123456/details"

Но когда я разверну это как mymockwar war в tomcat, работающем через порт 8080, Если я нажму "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>
...