#java #maven #websphere #websphere-liberty
#java #maven #websphere #websphere-liberty
Вопрос:
Я переношу приложение с ANT (EAR) на Maven (WAR). В проекте ANT у меня есть веб-слой в WAR и слой EJB в JAR. Модуль EJB имеет код веб-сервиса. Теперь я переношу ANT на Maven, Отныне приложение будет иметь только WAR. Когда приложение в ANT, у меня могут быть два разных контекстно-корневых файла, таких как «/ webapp» и «/ webservice». Контекстно-корневой «/ webservice», определенный в архиве EJB JAR, как показано ниже,
<webservices-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ws-bnd_1_0.xsd"
version="1.0">
<!-- optional http publishing module overrides -->
<http-publishing context-root="/webservice" />
</webservices-bnd>
Итак, у меня разные URL-адреса для доступа к WEB и WebService,
http://localhost:9080/webapp/application/index.html — Веб-приложение
http://localhost:9080/webservice/service/helloworld ?wsdl — веб-сервис
Согласно документации IBM https://www.ibm.com/support/knowledgecenter/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/twlp_dep_jaxws_binding.html
контекстно-корневой <http-publishing context-root="/webservice" />
ввод не будет работать, если у меня есть только файл WAR. Итак, я могу получить доступ только к webapp и webservice, используя тот же контекстно-корневой «webapp». Но мне нужны два разных URL-адреса для доступа к webapp и webservice, как указано выше. Как я могу этого добиться.?
Ответ №1:
Если вы объединяете свой файл EAR в один war, то невозможно переопределить контекстно-корневой файл по умолчанию для разных конечных точек в этой войне.
Вы можете переопределить контекстно-корневой файл по умолчанию для EJB jar, используя ibm-ws-bnd.xml
файл конфигурации Liberty вместе с упомянутым вами элементом: <http-publishing context-root="/webservice" />
. Вам нужно будет сохранить файл EAR с jar веб-службы EJB, упакованный отдельно от вашего war.
Комментарии:
1. Да, я объединил EAR в одну ВОЙНУ. могу ли я каким-либо образом внести изменения на стороне сервера для достижения этой цели.?