javax.servlet.ServletException: WSWS3142E: ошибка: не удалось найти механизм веб-служб

Я публикую веб-сервис JAX-RPC через WAS7.0. Я сгенерировал скелеты через RAD8.0. Поколение AFter развернуто локально и работает отлично, поскольку я получаю желаемый ответ через пользовательский интерфейс Soap.

Теперь я развернул EAR на наших тестовых серверах, и он отлично запускается со следующими строками.

[2/3/16 3:11:32:137 CST] 00000053 WebServicesSe W com.ibm.ws.webservices.engine.transport.http.WebServicesServlet setEndptMgrMBean WSWS4123E: Could not locate the Endpoint Manager MBean for com_service_mywebservices_MyServiceV1_0SOAPoHTTPImpl.
[2/3/16 3:11:32:137 CST] 00000053 ServletWrappe I com.ibm.ws.webcontainer.servlet.ServletWrapper init SRVE0242I: [TIIS_ADE] [/TIIS/eAgent/Ade] [com_service_mywebservices_MyServiceV1_0SOAPoHTTPImpl]: Initialization successful.

Теперь после развертывания, когда я пытаюсь получить доступ к WSDL или отправить запрос через пользовательский интерфейс Soap, я получаю эту ошибку:

SourceId: com.ibm.ws.webcontainer.servlet.ServletWrapper.service
   ExtendedMessage: BBOO0220E: SRVE0014E: Uncaught service() exception root cause com_service_mywebservices_MyServiceV1_0SOAPoHTTPImpl: javax.servlet.ServletException: WSWS3142E: Error: Could not find Web services engine.
    at com.ibm.ws.webservices.engine.transport.http.WebServicesServlet.doPost(WebServicesServlet.java:1105)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
    at com.ibm.ws.webservices.engine.transport.http.WebServicesServletBase.service(WebServicesServletBase.java:344)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1230)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97)
    at com.mycompany.eagent.abc.app.service.CrossScriptingFilter.doFilter(CrossScriptingFilter.java:41)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:964

Доступ к конечной точке службы осуществляется через Data Power, но Data Power не размещает никаких WSDL, он просто передает запрос.

Любая идея, что может пойти не так....

Вещи, которые я сделал, чтобы решить:

  • Я проверил путь схемы (xsd) в развернутом EAR. Эта служба работала с моего локального
  • Я проверил файлы Web.xml и WebService.xml на предмет возможных отсутствующих ссылок.

Запись Web.xml:

<servlet>
    <servlet-name>com_service_mywebservices_MyServiceV1_0SOAPoHTTPImpl</servlet-name>
    <servlet-class>com.service.mywebservices.MyServiceV1_0SOAPoHTTPImpl</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>com_service_mywebservices_MyServiceV1_0SOAPoHTTPImpl</servlet-name>
    <url-pattern>services/SOAPoHTTPEndpoint</url-pattern>
</servlet-mapping>

person Rajib Sharma    schedule 03.02.2016    source источник
comment
Я все еще не мог найти основную причину проблемы, но когда я развернул файл уха тестового сервера на своем локальном компьютере, я получаю созданное исключение: javax.servlet.ServletException: WSWS3142E: Ошибка: не удалось найти механизм веб-служб.   -  person Rajib Sharma    schedule 04.02.2016
comment
Пожалуйста, пролейте свет на это.   -  person Rajib Sharma    schedule 04.02.2016
comment
Можете ли вы проверить свой wsdl с помощью ?wsdl после развертывания?   -  person Aninda Bhattacharyya    schedule 05.02.2016
comment
когда я пытался вытащить WSDL, я получаю такое же исключение   -  person Rajib Sharma    schedule 05.02.2016


Ответы (1)


Я нашел основную причину проблемы, и она была устранена. Я сделал несколько пробных и пробных методов и, наконец, нашел решение.

Во-первых, это общая ошибка (javax.servlet.ServletException: WSWS3142E: Ошибка: не удалось найти механизм веб-служб), которая может возникать в нескольких случаях. В моем случае исключение возникло из другого веб-сервиса. Было 2 веб-службы с шаблоном URL «services/MyWebService» и «services/OtherWebService». WAS пытается разрешить службы URL-адресов, он находит MyWebServices (класс IMPL), но не нашел OtherWebService и выдал это универсальное исключение. А почему этот OtherWebService был недоступен? Я провел рефакторинг кода и переместил его в другую структуру папок, так как некоторые общие xsd/файлы конфликтовали. Таким образом, Web.xml необходимо изменить для OtherWebService, чего я не делал, поскольку локальному рабочему пространству не нужен этот WS, и он был удален из Web.xml, но в web.xml тестового сервера есть эта запись, поэтому он выдавал ошибку.

person Rajib Sharma    schedule 08.02.2016