java - create - ¿Cómo implementar manualmente un servicio web en Tomcat 6?
tomcat jax ws implementation (5)
Esperaría que el despliegue sea el mismo para un servicio web y un servlet. A saber, un archivo .war
. Entonces debería poder implementarlo de la misma manera.
Estoy aprendiendo cómo desarrollar servicios web SOAP con Java.
Hasta ahora, he estado siguiendo este excelente tutorial
Todo va bien, tengo mi servicio web trabajando desde la línea de comandos con su servidor integrado y luego, con la ayuda de NetBeans, lo implementé en Tomcat.
Me gustaría saber los pasos para implementarlo manualmente en Tomcat, para aprender cómo se hace y porque no me gusta depender de un IDE.
Quiero decir, me gustaría saber cómo se podría hacer todo desde la línea de comandos y un editor de texto.
También encontré este enlace que explica cómo implementar manualmente un servlet en Tomcat,
http://linux-sxs.org/internet_serving/c292.html
pero no pude encontrar ningún artículo sobre cómo implementar un servicio web.
Muchas gracias.
Los siguientes artículos tienen una guía paso a paso para crear e implementar manualmente los servicios web de JAX-WS. Utiliza Ant como herramienta de compilación.
Veo que nadie ha mencionado Tutoriales JAX-WS de Mkyong.com.
En la sección "JAX-WS Security in Tomcat" en la página "JAX-WS Tutorial", hay un tutorial corto, al pie y con imágenes, justo lo que el OP quería:
Implementar servicios web JAX-WS en Tomcat
aquí hay otro artículo útil
es como responder mi propia pregunta
http://java.dzone.com/articles/jax-ws-deployment-five-minute
Cómo construir y desplegar MANUALMENTE un servicio web jax-ws a tomcat
Estaba intentando descubrir cómo construir y desplegar MANUALMENTE un servicio web para el aprendizaje.
Comencé con este excelente artículo
http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/ (nueva URL: http://www.oracle.com/technetwork/articles/javase/jax-ws-2-141894.html )
La idea era hacer todo el proceso usando solo un bloc de notas y la línea de comando.
La única forma que podía lograr era desplegando un servicio web con netbeans, y luego echando un vistazo al archivo war generado en / dist / .war (es solo un archivo zip, puedes abrirlo con 7zip)
Lo dejo en caso de que alguien esté interesado y para fines de documentación ...
¡Si alguien conoce una manera más fácil, por favor avíseme!
probado en:
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
sas
1. crea el siguiente directorio c:/java/src/ws
2. crea el siguiente archivo 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. parado en c:/java/src/ execute
c:/java/src> javac ws/Adder.java
c:/java/src/ws/Adder.class will be generated
archivo c:/java/src/ws/Adder.class will be generated
4. crea la siguiente estructura de directorios con los siguientes archivos
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. copiar el archivo compilado
copie 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. Config WEB-INF/sun-jaxws.xml
archivo: 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. Copie las bibliotecas
archivos en c: / tomcat6 / webapps / adder_ws / WEB-INF / lib
copiar archivos netbeans de
[netbeans dir]/enterprise/modules/ext/metro/*.*
y
[netbeans dir]/ide/modules/ext/jaxb/activation.jar
10. reiniciar Apache
Apagado: c: / tomcat6 / bin / shutdown.bat
Inicio: c: / tomcat6 / bin / startup.bat
11. Prueba
Abra un navegador web y vaya a http://localhost:8080/adder_ws/add?wsdl
También puede usar una herramienta como soapui ( http://www.soapui.org/ ) para probar el servicio web
eso es todo, supongo que ahora echaré un vistazo a cómo lo hacen los eclipses ...