Как вручную развернуть веб-сервис на Tomcat 6?
Я учусь, как разрабатывать SOAP веб-сервисы с Java.
До сих пор я следовал этому превосходному учебнику
Все идет хорошо, мой веб-сервис работает из командной строки со встроенным сервером, а затем с помощью NetBeans развернул его на Tomcat.
Мне бы хотелось узнать, как вручную развернуть его на Tomcat, чтобы узнать, как это делается, и потому что мне не нравится зависеть от IDE.
Я имею в виду, я хотел бы знать, как все можно сделать из командной строки и текстового редактора.
Я также нашел эту ссылку, которая объясняет, как вручную развернуть сервлет в Tomcat,
http://linux-sxs.org/internet_serving/c292.html
но я не смог найти ни одной статьи, рассказывающей о том, как развернуть веб-сервис.
Большое спасибо.
5 ответов
Как вручную создать и развернуть веб-сервис jax-ws на tomcat
Я пытался выяснить, как вручную создать и развернуть веб-сервис для изучения проблемных мест.
Я начал с этой прекрасной статьи
http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/(новый URL: http://www.oracle.com/technetwork/articles/javase/jax-ws-2-141894.html)
Идея заключалась в том, чтобы сделать все это, используя только блокнот и командную строку.
Единственный способ, которым я мог достичь, - это развернуть веб-сервис с netbeans, а затем посмотреть на файл, сгенерированный войной, по адресу \ dist \.war (это просто zip-файл, его можно открыть с помощью 7zip).
Я оставляю это на случай, если кто-то заинтересован и для целей документации...
Если кто-нибудь знает более простой способ, пожалуйста, дайте мне знать!!!
проверено на:
C:\tomcat6\bin>version
Server version: Apache Tomcat/6.0.26
Server built: March 9 2010 1805
Server number: 6.0.26.0
OS Name: Windows XP
OS Version: 5.1
Architecture: x86
JVM Version: 1.6.0_18-b07
JVM Vendor: Sun Microsystems Inc.
Saludos
ПАВ
1. создать следующий каталог c:\java\src\ws
2. создать следующий файл c:\java\src\ws\Adder.java
// c:\java\src\ws\Adder.java
package ws;
import javax.jws.WebService;
@WebService
public class Adder {
public double add( double value1, double value2 ) {
return value1 + value2;
}
}
3. стоя на c:\java\src\ execute
c:\java\src> javac ws\Adder.java
файл c:\java\src\ws\Adder.class will be generated
4. создать следующую структуру каталогов со следующими файлами
c:\tomcat6\webapps\adder_ws
META-INF
context.xml
WEB-INF
classes
ws
Adder.class
lib
activation.jar
webservices-api.jar
webservices-extra.jar
webservices-extra-api.jar
webservices-rt.jar
webservices-tools.jar
sun-jaxws.xml
web.xml
5. скопировать скомпилированный файл
копия c:\java\src\ws\Adder.class
c:\tomcat6\webapps\adder_ws\WEB-INF\classes\ws\Adder.class
6. c: \ tomcat6 \ webapps \ adder_ws \ META-INF \ context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/adder_ws"/>
7. c: \ tomcat6 \ webapps \ adder_ws \ WEB-INF \ web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<listener>
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>
<servlet>
<servlet-name>Adder</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Adder</servlet-name>
<url-pattern>/add</url-pattern>
</servlet-mapping>
<!-- not needed
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
-->
</web-app>
8. Конфиг WEB-INF\sun-jaxws.xml
file: c: \ tomcat6 \ webapps \ adder_ws \ WEB-INF \ sun-jaxws.xml
<?xml version="1.0" encoding="UTF-8"?>
<endpoints version="2.0" xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">
<endpoint implementation="ws.Adder" name="Adder" url-pattern="/add"/>
</endpoints>
9. Копировать библиотеки
файлы в c:\tomcat6\webapps\adder_ws\WEB-INF\lib
копировать файлы NetBeans из
[netbeans dir]\enterprise\modules\ext\metro\*.*
а также
[netbeans dir]\ide\modules\ext\jaxb\activation.jar
10. перезапустите Apache
Завершение работы: c:\tomcat6\bin\shutdown.bat
Автозагрузка: c: \ tomcat6 \ bin \ startup.bat
11. Тест
Откройте веб-браузер и перейдите к http://localhost:8080/adder_ws/add?wsdl
Вы также можете использовать такой инструмент, как soapui ( http://www.soapui.org/), чтобы протестировать веб-сервис
вот и все, наверное, теперь я посмотрю, как затмения это делают...
Вот еще одна полезная статья
это своего рода ответ на мой собственный вопрос
http://java.dzone.com/articles/jax-ws-deployment-five-minute
В следующих статьях приведено пошаговое руководство по созданию и развертыванию веб-служб JAX-WS вручную. Он использует Ant в качестве инструмента для сборки.
Я ожидаю, что развертываемый объект будет одинаковым для веб-службы и сервлета. А именно, .war
файл. Таким образом, вы должны иметь возможность развернуть его таким же образом.
Я вижу, что никто не упомянул учебники по JAX-WS от Mkyong.com.
В разделе "Безопасность JAX-WS в Tomcat" на странице "Учебное пособие по JAX-WS" приведен краткий, на конкретный урок и учебник с картинками, рассказ о том, чего хотел ОП:
Развертывание веб-служб JAX-WS на Tomcat