Использование Metro, Netbeans и Tomcat7 для веб-сервисов

У меня есть два связанных вопроса:

(1) Как правильно разместить различные файлы Metro в каталогах Tomcat 7/JDK? Похоже, что автоматизированная процедура, предоставляемая Metro, не была обновлена ​​для Tomcat 7.

(2) Есть ли способ создания веб-службы с использованием Metro и Netbeans и передачи сгенерированного файла.war NetBeans в Tomcat 7 БЕЗ редактирования какого-либо файла.xml?

Я должен использовать NetBeans 7.x и Tomcat 7.x. Я могу использовать любую версию Metro.

Казалось бы, на такой элементарный вопрос можно было бы легко получить ответ в Интернете, но даже учебник на сайте NetBeans, похоже, не работает.

Спасибо!

2 ответа

Вопрос: Как правильно разместить различные файлы Metro в каталогах Tomcat 7/JDK? Похоже, что автоматизированная процедура, предоставляемая Metro, не была обновлена ​​для Tomcat 7.

Вы правы, процедура не была обновлена ​​для Tomcat7. Тем не менее, вы можете использовать его без проблем, он создаст две директории в каталоге CATALINA_HOME:

/endorsed (это будет положить там webservices-api.jar)

/shared/lib (это будет положить там webservices-extra-api.jar, webservices-extra.jar, webservices-rt.jar а также webservices-tools.jar)

Вопрос: Есть ли способ создания веб-службы с использованием Metro и Netbeans и передачи сгенерированного NetBeans.war-файла в Tomcat 7 БЕЗ редактирования любого XML-файла?

Обычно вы должны отредактировать web.xml и sun-jaxws.xml. Однако, поскольку вы используете Tomcat 7, который является контейнером Servlet 3.0, web.xml не нужен, и вам нужно иметь дело только с sun-jaxws.xml:

<?xml version="1.0" encoding="UTF-8"?>
<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" version="2.0">
<endpoint
      name="SERVICE_NAME"
      implementation="full.qualified.name.of.the.implementation.class"
      url-pattern="/SERVICE_URL"/>
</endpoints>

Кроме того, вы должны поместить sun-jaxws.xml в каталог WEB-INF.

Смотрите также:

Я не могу ответить на ваши два вопроса напрямую, вместо этого я могу рассказать вам, как я решил проблему.

Я использовал это простое руководство для установки библиотек jax-ws в tomcat (без Netbeans). Я не копировал jar-файлы в каталог $TOMCAT/lib, я скопировал их в каталог WEB-INF/lib внутри самого веб-приложения. Все остальное почти так же, как он описал в учебнике, и это работает.

Теперь на ваши вопросы:

(1) Я не знаю, как это сделать "правильным" способом. Но я думаю, что когда это работает, это не может быть неправильно. Я уверен, что есть лучшие практики для развертывания библиотек, но я просто не знаю их. Сожалею.

(2) К сожалению, я не использую Netbeans, поэтому я не могу вам здесь помочь. Но если вы подумаете об этом, я скопировал все библиотеки из ссылочной реализации jax-ws в мой каталог WEB-INF/lib, и я не коснулся ни одного XML, кроме тех, что были в моем каталоге WEB-INF. Теперь я могу создать файл войны из моего веб-приложения, и все готово. Думаю, не должно быть большой разницы для Netbeans.

Надеюсь, это поможет.

Другие вопросы по тегам