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