Download Introducción a JAX-WS Web Services

Document related concepts
no text concepts found
Transcript
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE CÓMPUTO
ALUMNO:
SANLUIS CASTILLO JOSE DAVID
PROFESOR:
CIFUENTES ALVAREZ ALEJANDRO SIGFRIDO
MATERIA:
WEB APPLICATION DEVEPLOMENT
“Introducción a JAX-WS Web Services”
GRUPO: 3CM2
Introducción a JAX-WS Web Services
API Java para XML Web Services (JAX-WS), JSR 224 , es una parte importante de los de Java EE
5 y 6 plataformas de EE. Un seguimiento a la liberación de la API Java para RPC basado en XML
1.1 (JAX-RPC), JAX-WS simplifica la tarea de desarrollar servicios web utilizando la tecnología
Java. Se ocupa de algunos de los temas de JAX-RPC 1.1, proporcionando soporte para múltiples
protocolos como SOAP 1.1, SOAP 1.2, XML, y proporcionando un servicio de apoyo a los
protocolos adicionales, junto con HTTP. JAX-WS utiliza JAXB 2.0 para el enlace de datos y es
compatible con personalizaciones para el control de las interfaces generadas extremo de
servicio. Con su soporte para anotaciones, JAX-WS simplifica el desarrollo de servicios web y
reduce el tamaño de los archivos JAR de tiempo de ejecución.
Este documento muestra los fundamentos del uso de la IDE para desarrollar un servicio web
JAX-WS. Después de crear el servicio web, escribir tres diferentes clientes de servicios Web que
utilizan el servicio web a través de una red, que se llama "consumo" de un servicio web. 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. Un tutorial más avanzado se centra en los clientes está en desarrollo JAX-WS
clientes de servicios Web .
Contenido

Crear un servicio Web

Diseñar el servicio Web

Implementar y probar el servicio Web

Las muestras

Consumir el servicio Web en
o
una clase Java en una aplicación de Java SE
o
un servlet de una aplicación web
o
una página JSP en una aplicación web
Crear un servicio Web
El objetivo de este ejercicio es crear un proyecto adecuado para el contenedor de
implementación que se decida utilizar. Una vez que tenga un proyecto, se creará un servicio web
en el mismo.
La elección de un contenedor
Usted 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 va a crear una aplicación Java EE 6, utilice un
contenedor web, en cualquier caso, porque usted puede poner EJB´s directamente en una
aplicación web. Por ejemplo, si va a implementar en el servidor web Tomcat, que sólo tiene un
contenedor web, crear una aplicación web, no un módulo EJB.
1. Elija Archivo> Nuevo
Proyecto (Ctrl + Mayúsculas + N en Linux y Windows, ⌘ +
Mayúsculas + N en Mac OS). Seleccione la aplicación web desde la categoría de Java
Web o módulo EJB de la categoría de Java EE.
Puede crear un servicio web JAX-WS en un proyecto Maven. Elija Archivo> Nuevo
Proyecto (Ctrl + Mayúsculas + N en Linux y Windows, ⌘ + Mayúsculas + N en Mac OS)
y luego Maven de aplicaciones Web o Maven módulo EJB de la categoría de Maven. Si
usted no ha utilizado Maven con NetBeans antes, ver las mejores prácticas de Maven .
2. Nombre del proyecto CalculatorWSApplication. Seleccione una ubicación para el
proyecto. Haga clic en Siguiente.
3. Seleccione el servidor y la versión Java EE y haga clic en Finalizar.
Para utilizar el servidor de Oracle WebLogic, registrar el servidor en el IDE . Además, si
usted está utilizando el servidor WebLogic, ver el screencast de implementar una
aplicación Web para Oracle WebLogic .
Crear un servicio Web desde una clase Java
1. Haga clic con el CalculatorWSApplication nodo y seleccione Nuevo> Web Service.
2. El nombre del servicio web CalculatorWS y tipo de
servicios Web desde cero seleccionado.
en el paquete. Deja Crear
3. 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.
De forma predeterminada, el servidor web Tomcat no es compatible con Enterprise Java
Beans (EJB). Por lo tanto no se puede implementar un servicio web EE6 como un bean
de sesión sin estado en una instalación fuera de la caja de Tomcat 7. Sin embargo, ver
el proyecto de Apache TomEE (especialmente OpenEJB) para las ampliaciones de
Tomcat.
4. Haga clic en Finalizar. La ventana de proyectos muestra la estructura del nuevo servicio
web y el código fuente se muestra en el área de edición.
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 NetBeans IDE proporciona un cuadro de diálogo para añadir
una operación a un servicio web. Puede abrir este diálogo, ya sea en el diseñador visual o
servicio web en el menú de contexto del servicio web.
Advertencia: El diseñador visual no está disponible en los proyectos de Maven.
Para agregar una operación para el servicio web:
1. O bien:
o
Cambie a la vista Diseño en el editor.
2. Haga clic en Agregar operación, ya sea en el diseñador visual o el menú contextual. El
cuadro de diálogo Agregar se abre la Operación.
3. En la parte superior de la caja de la Operación de diálogo Agregar, escriba agregar en
el nombre y el tipo int en el Tipo de valor devuelto en la lista desplegable.
4. En la parte inferior del cuadro de diálogo Agregar Operación, haga clic en Agregar y
crear un parámetro de tipo int llamada i.
5. Haga clic en Agregar nuevo y crear un parámetro de tipo int llamada j.
Ahora puede ver lo siguiente:
6. Haga clic en Aceptar en la parte inferior del cuadro de diálogo Agregar
Operación. Volverá a la editora.
7. Eliminar el valor por defecto hola operación, ya sea mediante la supresión de la hello
() método en el código fuente o seleccionando el hola operación en el diseñador visual
y haciendo clic en Quitar la Operación.
El diseñador visual muestra ahora el siguiente:
8. Haga clic en Origen y ver el código que ha generado en los pasos anteriores. Se
diferencia si ha creado el servicio como un grano de EE6 apátridas o no. ¿Puede usted
ver la diferencia en las capturas de pantalla por debajo? (Un servicio EE6 que no se
implementa como un bean sin estado se asemeja a un servicio de EE5).
9. En el editor, extender el esqueleto de
añadir la operación a la siguiente:
@WebMethod
public int add(@WebParam(name = "i") int i,
@WebParam(name = "j") int j) {
int k = i + j;
return k;
}
Como se puede ver en el código anterior, el servicio web se limita a recibir dos números y
devuelve su suma. En la siguiente sección, se utiliza el IDE para probar el servicio web.
Implementar y probar el servicio Web
Después de implementar un servicio web a un servidor, puede utilizar el IDE para abrir el cliente
del servidor de prueba, si el servidor tiene un cliente de prueba. El GlassFish y servidores
WebLogic proporcionar a los clientes de prueba.
Si usted está utilizando el servidor web Tomcat, no hay ningún cliente de prueba. Sólo se puede
ejecutar el proyecto y ver si la web Tomcat Servicios de la página se abre. En este caso, antes
de ejecutar el proyecto, es necesario hacer que el servicio web del punto de entrada a su
solicitud. Para hacer que el servicio web del punto de entrada a su solicitud, haga clic en el nodo
del proyecto CalculatorWSApplication y seleccione Propiedades. Abra las propiedades de Ejecutar
y escriba CalculatorWS en el campo de dirección URL relativa. Haga clic en Aceptar. Para
ejecutar el proyecto, haga clic en el nodo del proyecto de nuevo y seleccione Ejecutar.
Para probar la implementación exitosa de un servidor GlassFish o WebLogic:
1. Haga clic con el proyecto y elija Implementar. El IDE se inicia el servidor de aplicaciones,
se basa la solicitud, e implementa la aplicación en el servidor. Puedes seguir el progreso
de estas operaciones en el CalculatorWSApplication (run-deploy) y el servidor GlassFish
o Tomcat pestañas en la vista de salida.
2. En la ficha de la IDE de proyectos, expanda el nodo de Servicios Web del proyecto
CalculatorWSApplication. Haga clic en el nodo CalculatorWS, y elegir de pruebas de
servicio Web.
El IDE abre la página de probador en su navegador, si ha implementado una aplicación Web en
el servidor GlassFish. Para el servidor web Tomcat y despliegue de módulos EJB, la situación es
diferente:

Si implementa en el servidor GlassFish, el tipo de dos números en la página de probador, tal
como se muestra a continuación:
La suma de los dos números en la pantalla:
Las muestras
Usted puede abrir una versión completa EE6 bean sin estado del servicio de Calculadora
seleccionando Archivo> Nuevo proyecto (Ctrl + Mayúsculas + N en Linux y Windows, ⌘ +
Mayúsculas + N en Mac OS) y la navegación de muestras> Servicios Web en Java> Calculadora
(EE6 ).
Un servicio de calculadora de Maven y un cliente Calculadora de Maven están disponibles en
muestras> Maven.
Consumir el servicio Web
Ahora que ha desplegado el servicio web, es necesario crear un cliente para hacer uso del
servicio web de la extensión método.En este caso, se crean tres clientes-una clase de Java en
una aplicación Java SE, un servlet y una página JSP en una aplicación web.
Nota: Un tutorial más avanzado se centra en los clientes está en desarrollo JAX-WS clientes de
servicios Web .
Cliente 1: Java Class en Java SE Aplicación
En esta sección, puede crear una aplicación estándar de Java. El asistente que se utiliza para
crear la aplicación también crea una clase Java. A continuación, utilizar las herramientas del IDE
para crear un cliente y consumir el servicio Web que creó en el comienzo de este tutorial.
1. Elija Archivo> Nuevo Proyecto (Ctrl + Mayúsculas + N en Linux y Windows, ⌘ +
Mayúsculas + N en Mac OS). Seleccione la aplicación Java desde la categoría de
Java. Nombre del proyecto CalculatorWS_Client_Application . Deja Crear clase
principal seleccionada y aceptar todos los valores predeterminados. Haga clic en
Finalizar.
2. Haga clic con el CalculatorWS_Client_Application nodo y seleccione Nuevo>
cliente de servicios Web. El nuevo servicio Web Client se abre el asistente.
3. Seleccione Proyecto como la fuente de WSDL. Haga clic en Examinar. Busque el servicio
web CalculatorWS en el proyecto CalculatorWSApplication. Cuando haya seleccionado el
servicio Web, haga clic en Aceptar.
4. No seleccione el nombre del paquete. Deje este campo vacío.
5. Deje los otros valores por defecto y haga clic en Finalizar.
La ventana muestra los proyectos del cliente de servicios web nueva, con un nodo para
el complemento el método que ha creado:
6. Haga doble clic en la clase principal, de modo que se abre en el Editor de código
fuente. Arrastre el complemento nodo por debajo de la main () método.
Ahora puede ver lo siguiente:
Nota: Como alternativa, en lugar de arrastrar el complemento nodo, puede hacer clic
derecho en el editor de código y elija Insertar> Operación de llamadas de servicio web.
7. En el main () cuerpo del método, reemplace el comentario TODO con el código que
inicializa los valores de i y j , llama a add () , e imprime el resultado.
public static void main(String[] args) {
int i = 3;
int j = 4;
int result = add(i, j);
System.out.println("Result = " + result);
}
8. Rodea el main () el código del método con un bloque try / catch que imprime una
excepción.
9. Haga clic derecho en el nodo del proyecto y seleccione Ejecutar.
La ventana de resultados muestra ahora la suma:
Cliente 2: Servlet en aplicaciones Web
En esta sección, se crea una nueva aplicación web, después de lo cual se crea un servlet. A
continuación, utilizar el servlet para consumir el servicio Web que creó en el comienzo de este
tutorial.
1. Elija Archivo> Nuevo Proyecto (Ctrl + Mayúsculas + N en Linux y Windows, ⌘ +
Mayúsculas + N en Mac OS). Seleccione Aplicación Web de la categoría Web
Java. Nombre del proyecto CalculatorWSServletClient . Haga clic en Siguiente y
luego haga clic en Finalizar.
2. Haga clic con el CalculatorWSServletClient nodo y seleccione Nuevo> cliente de
servicios Web.
El nuevo servicio Web asistente de cliente aparece.
3. Seleccione Proyecto como la fuente de WSDL. Haga clic en Examinar. Busque el servicio
web CalculatorWS en el proyecto CalculatorWSApplication. Cuando haya seleccionado el
servicio Web, haga clic en Aceptar.
4.
No seleccione el nombre del paquete. Deje este campo vacío
5. Deje los otros valores por defecto y haga clic en Finalizar.
El Servicio de Referencias Web nodo en la ventana de proyectos muestra la estructura de su
nuevo cliente, incluyendo elcomplemento operación que creó anteriormente en este tutorial:
6. Haga
clic
con
Servlet>. Nombre
el CalculatorWSServletClient nodo
del
servletClientServlet y
lo
llamado org.me.calculator.client . Haga clic en Finalizar.
del
proyecto
coloca
en
y
un
elija
New
paquete
7. Para hacer el servlet el punto de entrada a su solicitud, haga clic en el nodo del proyecto
CalculatorWSServletClient y seleccione Propiedades. Abra las propiedades de Ejecutar y
escriba / ClientServlet en el campo de dirección URL relativa. Haga clic en Aceptar.
8. Si no hay iconos de error para ClientServlet.java , haga clic en el nodo del proyecto y
seleccione limpiar y construir.
9. En el Editor de código fuente, arrastre el complemento la operación en cualquier parte
del cuerpo de la ClientServletclase. El complemento () el método aparece al final del
código de la clase.
10. En el processRequest () método, agregar algunas líneas en blanco después de esta
línea:
out.println ("<h1> ClientServlet Servlet en" + request.getContextPath () + "</
h1>");
11. Agregue el código que inicializa los valores de i y j , llama a add () , e imprime el
resultado. El código agregado está en negrita :
12. Haga clic derecho en el nodo del proyecto y seleccione Ejecutar. El servidor se inicia, la
aplicación está desarrollada y desplegada, y el navegador se abre y muestra el resultado
del cálculo, como se muestra a continuación:
Cliente 3: Página JSP en aplicaciones Web
En esta sección, se crea una nueva aplicación web y luego consumir el servicio web en la página
por defecto JSP que el asistente de aplicaciones Web crea.
Nota: Si desea ejecutar una aplicación cliente web de JSP en Oracle WebLogic,
consulte Ejecución de un Java Server Faces 2.0 Aplicación en WebLogic .
1. Elija Archivo> Nuevo Proyecto (Ctrl + Mayúsculas + N en Linux y Windows, ⌘ +
Mayúsculas + N en Mac OS). Seleccione Aplicación Web de la categoría Web
Java. Nombre del proyecto CalculatorWSJSPClient. Haga clic en Finalizar.
2. Haga clic con el CalculatorWSJSPClient nodo y seleccione Nuevo cliente de servicios
Web>.
3. Seleccione Proyecto como la fuente de WSDL. Haga clic en Examinar. Busque el servicio
web CalculatorWS en el proyecto CalculatorWSApplication. Cuando haya seleccionado el
servicio Web, haga clic en Aceptar.
4. No seleccione el nombre del paquete. Deje este campo vacío.
5. Deje los otros valores por defecto y haga clic en Finalizar.
La ventana de proyectos muestra el cliente de servicio Web, como se muestra a
continuación:
6. En el Servicio de Referencias Web nodo, expanda el nodo que representa el servicio
web. El complemento operación, que se invoca desde el cliente, se encuentra expuesto.
7. Arrastre el complemento de la operación del cliente index.jsp página y colóquelo
debajo de las etiquetas H1. El código para invocar la operación del servicio se genera
ahora en el index.jsp página, como se puede ver aquí:
Cambie el valor de i y j entre 0 y enteros, tales como 3 y 4. Vuelva a colocar la comentada
línea de TODO en el bloque catch con out.println ("excepción" + ex); .
8. Haga clic derecho en el nodo del proyecto y seleccione Ejecutar.
El servidor se inicia, si no se estaba ejecutando ya. La aplicación está desarrollada y
desplegada, y el navegador se abre y muestra el resultado del cálculo: