Práctica 1: Web service sencillo LoggerService Qué necesitamos saber ● Java ● XML ● Teoría de “Web Services” ● Teoría de JAX-WS ● Glassfish, administración sencilla. ● Netbeans → Proyectos webs ● Usar soapUI para testear nuestro WS Creamos el proyecto Web ● Creamos un proyecto web. ● Creamos un paquete dentro de la carpeta “source” ● es.ugr.cursows.servicios Carpeta para nuestro xmls ● Nueva carpeta para xmls: schemas, WSDLs ● Btn Drch sobre el proyecto → propiedades Creando un WSDL ● Creamos un fichero wsdl en la carpeta xmls. – Btn Drch → New → Other Creando un WSDL (2) ● Lo llamamos “logger” y le asignamos el “target Name space” a “http://es.ugr.cursows/logger” Creando un WSDL (3) ● Añadimos una operación “logger” con un parámetro de entrada “text” Creando WSDL (4) ● Confirmamos el binding y finalizamos la creación Vistazo sobre nuestro WSDL Creando WS ● Necesitamos el WS en JAVA ● Btn Drch en “es.ugr.cursows” → New → “other” Creando WS (2) ● Añadimos un nombre → UGRLoggerService Creando WS (3) Añadimos el WSDL que previamente hemos generado Generación del Stub ● Tras la creación del Web Service se generan las clases para atender las peticiones En Java Escribiendo la lógica Creando el fichero de log. Lógica en las peticiones Desplegando el servicio ● ● Para desplegar un proyecto Web llamamos a “Run”. Btn Drch sobre el proyecto → Run A continuación se nos abre el navegador con el JSP de bienvenida. Test del servicio ● Para testear un servicio Test del servicio (2) ● Abre el navegador con el test de netbeans. Tests del servicio (3) ● Creamos un proyecto en soapUI con el wsdl del proyecto tal y como aprendimos en la introducción de soapUI Request Response Tests del servicio (4) ● Comprobadlo..... ● <glassfish_home>/domains/<domain_name>/config/logg er.log.... En resumen ● ● ● ● Hemos aprendido una “buena” estructura de proyecto Web Hemos creado nuestro primer wsdl Hemos generado .java a partir del wsdl anterior para dar servicio a nuestro WS Hemos construido a partir de los .jar un proyecto web desplegable (war) ● Hemos desplegado este proyecto en Glassfish ● Hemos testeado su correcto funcionamiento