К моему модулю веб-службы обращаются несколько клиентов, имеющих разных клиентов, и поэтому он должен быть доступен по разным URI, например
[serverAddress]/MyHTTPRouter/PingService
и
[serverAddress]/MyHTTPRouter/cet/PingService
(замените [serverAddress] на myorg.com или localhost... извините за это, но StackOverflow в настоящее время ограничивает меня двумя ссылками (даже http://localhost считается))
Итак, я хотел определить 2 сопоставления сервлетов в моем файле web.xml. В StackOverflow я нашел следующие подсказки: а) Servlet web.xml servlet-mapping б) Как используются сопоставления URL-адресов сервлетов в web.xml?
Я сделал следующие попытки:
Попытка №1:
<servlet>
<servlet-name>myorg.PingServiceImpl</servlet-name>
<servlet-class>com.ibm.ws.websvcs.transport.http.WASAxis2Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myorg.PingServiceImpl</servlet-name>
<url-pattern>/cet/PingService</url-pattern>
<url-pattern>/PingService</url-pattern>
</servlet-mapping>
Результат теста с SoapUI:
- [serverAddress]/MyHTTPOuter/PingService: ок
- [serverAddress]/MyHTTPouter/cet/PingService: Ошибка 404: java.io.FileNotFoundException: WSWS7147E: системе не удалось найти конечную точку для /cet/PingService.
Попытка №2:
<servlet>
<servlet-name>myorg.PingServiceImpl</servlet-name>
<servlet-class>com.ibm.ws.websvcs.transport.http.WASAxis2Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myorg.PingServiceImpl</servlet-name>
<url-pattern>/PingService</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>myorg.PingServiceImpl</servlet-name>
<url-pattern>/cet/PingService</url-pattern>
</servlet-mapping>
Результат теста с SoapUI:
- [serverAddress]/MyHTTPRouter/PingService: Ошибка 500: javax.servlet.ServletException: com.ibm.ws.websvcs.exception.ConfigurationException: не удалось получить контекст конфигурации в сервлете Axis для модуля: MyHTTPouter
- [serverAddress]/MyHTTPRouter/cet/PingService : то же, что и выше (ошибка 500)
Мы говорим о приложении EJB 3.1, работающем на сервере приложений IBM Websphere 8.5. Любые идеи, почему и # 1, и # 2 не работают, и какие изменения мне нужно сделать, чтобы получить доступ к веб-службе с помощью /cet/PingService и /PingService?