http://java-all-frameworks.blogspot.com/2011
Compartir
Ms
Siguiente blog
Crear un blog
Acceder
DATOS PERSONALES
Regular Expression
Un link que nos resultar de gran ayuda:
TUTORIALES
DESIGN PATTERNS (1) ECLIPSE (1) EJB3 (3) EJB3 - SECURITY (1) GWT (5) GWT + SPRING + HIBERNATE + MAVEN (2) HIBERNATE (1) iBATIS (1) JCA (1) JPA (12) JSP (1) JSTL (1) LOG4J (1) MAVEN (2) MDB (1) ORACLE (6) ORACLE PL/SQL (1) REGEX (1) RMI (1) SPRING (5) SVN (1) TDD (1) WEB SERVICE (3)
http://rubular.com/
0 comentarios
2011 (43) abril (3) mayo (1) junio (5) julio (6) agosto (16) septiembre (4) octubre (3) noviembre (2) diciembre (3) Web Services - Apache AXIS - Tutorial I Web Services - Apache CXF - Tutorial II Regular Expression 2012 (10)
BUSCAR
Buscar
SEGUIDORES
Luego vamos a agregar estas libreras en las preferencias del eclipse para que luego, cuando generemos el WS mediante el wizzard sepa de donde obtener las librerias de CXF
1 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Miembros (14)
2 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
3 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Luego, creamos un proyecto web simple (Dynamic Web Project) y creamos la siguiente clase llamada Converter.java
public class Converter { public float celsiusToFarenheit ( float celsius ) { return (celsius * 9 / 5) + 32; }
public float farenheitToCelsius ( float farenheit ) { return (farenheit - 32) * 5 / 9; } } Una vez creada dicha clase, procedemos a crear el WS sobre esta clase mediante el Wizzard del eclipse. A continuacin mostramos las capturas de pantallas que nos guiaran paso a paso en la construccin de este WS:
4 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
5 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
6 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
7 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
8 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
9 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Aqu vemos como nos queda modificado la clase Converter.java con ciertas anotaciones que la convierte en WS:
10 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
11 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
12 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
13 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Luego, vemos que tambin nos ha generado un nuevo proyecto cliente (WS_Prueba_CXFCliente) donde tendremos las clases necesarias para poder consumir dicho WS desde cualquier aplicacion y ademas, nos crea un clase de ejemplo que nos permite consumirlo (procedemos a correr dicha clase):
14 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Luego de ver el resultado por consola (desde la consola de ejecucion de dicha clase de ejemplo), podemos cambiar de consola y ver la del tomcat del WS que esta deployado y asi ver que nos arroja por dicha consola:
15 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Ejemplos para descargar Presionar aqu para descargar los ejemplos vistos anteriormente
0 comentarios
Existen varias implmementaciones para desarrollar WS en Java (algunas de las mas conocidas son): Axis (http://axis.apache.org/axis/): Soporta JAX-RPC API
16 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Axis2 (http://axis.apache.org/axis2/java/core/): Soporta JAX-WS API Apache CFX (http://cxf.apache.org/): Soporta JAX-WS API JBossWS (http://www.jboss.org/jbossws):Soporta JAX-WS API
Como podemos ver, todos estos SOAP engines (implementaciones) menos Axis no estn dentro del estndar JAX-WS. Como para que nos quede un poco mas claro, JAX-WS es para Apache CXF lo que JPA es para Hibernate.
Si no se quiere utilizar ninguna implementacion existente, la JDK trae su propia implementacion para desarrollar WS en Java:
http://chuwiki.chuidiang.org/index.php?title=Ejemplo_sencillo_de_web_service_con_maven_y_jax-ws_metro La JDK trae para publicarlo directamente pero si lo queres tirar a un tomcat (lo cual seria lo mas prolijo y logico), entonces necesitas el sun-wx.xml, el listener, y tirarle las librerias de JAX-WS al tomcat porque no las tiene. http://www.mkyong.com/webservices/jax-ws/deploy-jax-ws-web-services-on-tomcat/ Para publicarlo directamente con java: Endpoint.publish(...) ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Si quedan dudas, por favor mirar la documentacin original de oracle sobre la JDK 6 que va a aclarar mejor el panorama: WS: http://docs.oracle.com/javaee/6/tutorial/doc/gijti.html JAX-WS: http://docs.oracle.com/javaee/6/tutorial/doc/bnayl.html JAX-RS: http://docs.oracle.com/javaee/6/tutorial/doc/giepu.html ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------1. Veamos un ejemplo paso a paso de como crear un WS con AXIS y Eclipse Helios Antes que nada, vamos a necesitar tener instalado el Eclipse + el plug in de WTP Descargarlo desde: http://eclipse.org/webtools/ws/ En algunas versiones mas nuevas de Eclipse, esto ya viene por dafault. En primer lugar, vamos a crear el WS partiendo de una clase Java (A) y luego vamos a generar el WS partiendo de un WSDL (B) A. Partimos desde un POJO (endpoint) y luego generamos el WSDL Vamos a crear un servidor, para esto utilizaremos el Tomcat 6
17 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
18 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Luego, creamos una clase Java llamada Converter,java con dos metodos
19 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Luego, nos paramos sobre esa clase, y procedemos a crear el WS mediante el Wizzard del Eclipse
Aqu es en donde vamos a poder subir y bajar la barra y seleccionar el web server (Tomcat), el API de WS que vamos a utilizar (por defecto AXIS viene con el Eclipse, por lo que no vamos a tener que descargar nada) y el nombre del Web project que queremos que se despliegue en el Tomcat
20 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
21 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
22 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Listo, ya quedo desplegado el WS en el Tomcat, ahora vamos a proceder a verificar la URL del despliegue. Para esto, vamos al WSDL que nos creo este Wizzard, y vamos a buscar la URL
23 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
24 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Colocamos la misca URL en el navegador seguida de "?wsdl". Con esto podemos ver el WSDL generado
Por ultimo, para terminar de verificar el WS, podemos testearlo con una herramienta que nos proporciona el eclipse. Nos paramos sobre el WSDL:
25 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Esto va a abrir una consola dentro del Eclipse, para testear cada uno de los metodos.
26 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
27 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Ver: http://www.eclipse.org/webtools/jst/components/ws/1.5/tutorials/BottomUpWebService/BottomUpWebService.html
B. Partimos desde el WSDL para luego generar el POJO (endpoint) Obtenemos el WSDL anterior o sino vamos a la URL que listamos a continuacin y nos bajamos el WSDL (sobre este WSDL se explicara paso a paso este procedimiento "Top Down". El anterior (puntoA) se lo conoce como "Bottom Up". Ver: http://www.eclipse.org/webtools/jst/components/ws/1.5/tutorials/TopDownWebService/TopDownWebService.html Creamos una carpeta llamada wsdl y la colocamos dentro de Web Content. Ahi vamos a copiar el WSDL que tengamos (en nuestro caso, vamos a copiar el que nos descargamos de la URL anterior, pero tambien podriamos utilizar el que ya tenemos del Punto A)
28 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Luego, procedemos a crear el web service basandonos en el WSDL, para lo cual vamos a File, new, other, Web Service
29 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
30 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
31 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
32 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
En estos momentos, ya tenemos deployado el WS creado a paritir del WSDL, ahora vamos a proceder a corroborar la URL, para lo cual, vamos al WSDL nuevo que nos creo este Wizzard
33 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Agregamos a la URL los siguiente: "?wsdl", y como ya vimos anteriormente, vemos que nos muestra el WSDL.
34 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Ahora vamos a testear este WS mediante la herramienta que trae el eclipse, como ya lo hicimos anteriormente.
35 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
36 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
2. Veamos un ejemplo paso a paso de como crear un cliente para consumir el WS con ECLIPSE Creamos un proyecto java simple, en donde vamos a tener un test que consumira el WS antes creado. Para poder consumirlo, vamos a tener que tener levantado el tomcat con el WS deployado.
37 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
En este paso, tenemos que seleccionar el WSDL del proyecto que tiene el WS.
38 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
39 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Luego, presionamos finish y vemos que nos creara 5 clases que son las que vamos a necesitar para conectarnos con el WS como asi tambien las librerias necesarias: Converter,java ConverterProxy,java ConverterService,java
40 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Luego, creamos una clase de test para consumir el WS dentro de este nuevo proyecto cliente.
41 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Una vez que creamos la clase, vamos a agregarle estas lineas de codigo que serviran para consumir el WS e incovar a uno de sus mtodos:
public class ConverterTest {
public static void main(String args []) throws ServiceException, RemoteException, MalformedURLException{
// Invocamos a uno de sus metodos float farenheitToCelsius = converter.farenheitToCelsius(100f); System.out.println("farenheitToCelsius " + farenheitToCelsius);
42 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Luego, antes de correr esta clase, vamos a levantar el Tomcat y deployar el proyecto que habiamos creado en los pasos anteriores.
43 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Ejecutamos el ConverterTest y vemos por consola lo que nos devuelve la incovacion al metodo del WS
44 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
Ejemplos para descargar Presionar aqu para descargar los ejemplos vistos anteriormente
Bibliografia Ver: http://www.eclipse.org/webtools/jst/components/ws/1.5/tutorials/ Ver: http://docs.jboss.org/tools/3.0.0.Beta1/en/ws_ref_guide/html/index.html Ver: http://techno-cratic.blogspot.com/2010/01/creating-jbossws-web-services-with.html Ver: http://www.codeproject.com/KB/java/webservice-for-jboss.aspx Ver: http://www.jboss.org/jbossws/downloads/ Ver: http://www.jboss.org/jbossws
45 de 46
26/09/12 15:51
http://java-all-frameworks.blogspot.com/2011
0 comentarios
Pgina principal
Entradas antiguas
Copyright 2011 - Apoya este blog http://jooble-ar.com. Plantilla Simple. Con la tecnologa de Blogger.
46 de 46
26/09/12 15:51