Download web services
Document related concepts
no text concepts found
Transcript
RUEDA TORRES DULCE CAROLINA 3CM2 JAX-WS WEB SERVICES WEB APPLICATION DEVELOPMENT WEB SERVICES Web Application Development 1. INTRODUCCIÓN En esta práctica se mostraran los fundamentos del uso de la IDE para desarrollar un servicio web JAX-WS. Después de crear el servicio web tres diferentes cliente utilizan el servicio web a través de una red. Los tres clientes son una clase de Java en una aplicación Java SE, un servlet y una página JSP en una aplicación web. 2. CREAR UN SERVICIO WEB El objetivo de este ejercicio es crear un proyecto adecuado para el contenedor de implementación que se decida utilizar. Elección de un contenedor Se puede instalar el servicio web en un contenedor web o en un contenedor EJB. Esto depende de la elección de la aplicación. Si se va a crear una aplicación Java EE 6, utilizamos un contenedor web. 1. Elegimos Archivo> Nuevo Proyecto .Seleccionamos aplicación web desde la categoría de Java Web o módulo EJB de la categoría de Java EE. 2 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development 2. Asignamos al nombre del proyecto CalculatorWSApplication, y seleccionamos una ubicación para el proyecto. Clic en Siguiente. 3. Seleccione el servidor y la versión Java EE y haga clic en Finalizar. 3 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development Crear un servicio Web desde una clase Java 1. Damos clic al nodo CalculatorWSApplication y seleccionamos Nuevo> Web Service. 2. Asignamos al nombre del servicio web CalculatorWS y org.me.calculator al nombre del paquete. Si va a crear un proyecto Java EE 6 en GlassFish o WebLogic, seleccione Implementar el servicio Web como un bean de sesión sin estado. 4 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development 3. ADICIÓN DE UNA OPERACIÓN PARA EL SERVICIO WEB El objetivo de este ejercicio consiste en añadir al servicio web de una operación que suma dos números recibidos de un cliente. El IDE proporciona un cuadro de diálogo para añadir una operación a un servicio web. Para agregar una operación para el servicio web: 1. Cambiamos a la vista Diseño en el editor. 2. Damos clic en Agregar operación. Se abre el cuadro de diálogo Agregar Operación. 5 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development 3. En la parte superior de la caja de la Operación de diálogo Agregar, seleccionamos add y asignamos el nombre “i” y el tipo int en el Tipo de valor. Finalmente creamos un parámetro de tipo int llamado j, con lo que la ventana contiene lo siguiente: Damos clic en Aceptar en la parte inferior del cuadro de diálogo Agregar Operación. 4. Eliminamos el valor por defecto de la operacion hello, seleccionando la operación hello en el diseñador visual y haciendo clic en Quitar la Operación. 6 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development El diseñador visual muestra ahora el siguiente: 5. En el editor, extender el cuerpo del método add y añadimos la siguiente operación: 7 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development 4. IMPLEMENTAR Y PROBAR EL SERVICIO WEB Después de implementar un servicio web a un servidor, podemos utilizar el IDE para abrir el cliente del servidor de prueba, si el servidor tiene un cliente de prueba. 1. Haga clic con el proyecto y elija Implementar. En la ficha de la IDE de proyectos, expandimos el nodo de Servicios Web del proyecto CalculatorWSApplication y damos clic en el nodo CalculatorWS, y elegimos Test Web Service. El IDE abre la página de probador en su navegador 8 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development 5. CONSUMIR EL SERVICIO WEB Ahora que se ha desplegado el servicio web, es necesario crear un cliente para hacer uso del servicio web del método add. CLIENTE 1: Java Class en Java SE Aplicación En esta sección se creara una aplicación estándar de Java. A continuación, se utilizaran las herramientas del IDE para crear un cliente y consumir el servicio Web. 1. Elegimos Archivo> Nuevo Proyecto. Seleccionamos JavaApplication desde la categoría de Java y damos al nombre del proyecto CalculatorWS_Client_Application. Habilitamos la opción de crear clase principal y aceptamos todos los valores predeterminados. Clic en Finalizar. 9 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development 10 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development 2. Damos clic al nodo CalculatorWS_Client_Application y seleccionamos Nuevo> Web Service Client. 3. Seleccionamos proyecto como la fuente de WSDL. Damos clic en Examinar y buscamos el servicio web CalculatorWS en el proyecto CalculatorWSApplication. Clic en Aceptar. 11 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development 4. No seleccionamos el nombre del paquete. Dejamos este campo vacío. Ahora se muestra en la ventana de proyectos el nuevo cliente del servicio web: 12 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development 5. Damos doble clic en la clase principal, de modo que se abra en el Editor de código fuente y arrastramos el complemento add debajo del método main(). Con lo que se agrega el siguiente código: 6. En el cuerpo del método main(), reemplazamos el comentario TODO con el código que inicializa los valores de i yj , realiza la llamada al método add() e imprime el resultado. 13 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development 7. Rodeamos el código del método main() el con un bloque try / catch que imprime una excepción. 8. Damos clic derecho en el nodo del proyecto y seleccionamos Ejecutar. La ventana de resultados muestra ahora la suma: 14 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development CLIENTE 2: Servlet en aplicaciones Web A continuación, se utilizara el servlet para consumir el servicio Web que creado. 1. Elegimos Archivo> Nuevo Proyecto. Seleccionamos Aplicación Web de la categoría JavaWeb y asignamos al nombre del proyecto CalculatorWSServletClient. Clic en Siguiente y luego clic en Finalizar. 15 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development 2. Damos clic en el nodo CalculatorWSServletClient y seleccionamos Nuevo> Web Service Client. 3. Seleccionamos Proyecto como la fuente de WSDL. Damos clic en examinar y buscamos el servicio web CalculatorWS en el proyecto CalculatorWSApplication. Cuando hayamos seleccionado el servicio Web, clic en Aceptar. 4. Dejamos los otros valores por defecto y damos clic en Finalizar. En la ventana de proyectos se muestra la estructura del nuevo cliente, incluyendo la operación ADD que se creó anteriormente: 16 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development 5. Damos clic al nodo CalculatorWSServletClient y elegimos New servlet>. Asignamos al nombre del servlet ClientServlet y lo colocamos en el paquete org.me.calculator.client. Clic en Finalizar. 6. Para hacer el servlet el punto de entrada de la solicitud, damos clic en el nodo del proyecto CalculatorWSServletClient y seleccionamos Propiedades. Seleccionamos la opcion Run y le asignamos /ClientServlet en el campo de dirección URL relativa. Clic en Aceptar. 17 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development 7. Si no hay iconos de error para ClientServlet.java, damos clic en el nodo del proyecto y seleccionamos Clean & Build. 8. En el Editor de código fuente, arrastre el complemento la operación en cualquier parte del cuerpo de la clase ClientServlet. El método add() aparece al final del código de la clase. 9. En el método processRequest(), agregar algunas líneas en blanco después de esta línea: out.println("<h1>Servlet ClientServlet at " + request.getContextPath () + "</h1>"); 18 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development 10. Agregamos el código que inicializa los valores de i y j, llama al método add(), e imprime el resultado. 11. Damos clic derecho en el nodo del proyecto y seleccionamos Ejecutar. El servidor se inicia, el navegador se abre y muestra el resultado del cálculo, como se muestra a continuación: 19 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development CLIENTE 3: Página JSP en aplicaciones Web En esta sección, se crea una nueva aplicación web y luego se consume el servicio web en la página por defecto JSP que el asistente de aplicaciones Web crea. 1. Elegimos Archivo> Nuevo Proyecto. Seleccionamos Web Application de la categoría Java Web y asignamos al nombre del proyecto CalculatorWSJSPClient. Clic en Finalizar. 2. Damos clic en el nodo CalculatorWSJSPClient y seleccionamos New> Web Service Client. 20 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development 3. Seleccionamos proyecto como la fuente de WSDL. Damos clic en Examinar y buscamos el servicio web CalculatorWS en el proyecto CalculatorWSApplication. Clic en Aceptar. La ventana de proyectos muestra el Web Service Client, como se muestra a continuación: 21 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development 4. En el nodo Servicio de Referencias Web, expandimos el nodo hasta la operación add y arrastramos dicha operación a la pagina del cliente index.jsp y lo colocamos debajo de las etiquetas H1. Cambiamos el valor de i y j por 3 y 4. 22 RUEDA TORRES DULCE CAROLINA WEB SERVICES Web Application Development 5. Damos clic derecho en el nodo del proyecto y seleccionamos Ejecutar. El servidor se inicia, si no se estaba ejecutando ya, el navegador se abre y muestra el resultado del cálculo: 23 RUEDA TORRES DULCE CAROLINA