CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa vjsosa@tamps.cinvestav.mx



Documentos relacionados
Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación

WEB SERVICES CON AXIS

Notas para la instalación de un lector de tarjetas inteligentes.

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa Configuración Internet Explorer para ActiveX...

Desarrollo de Servicios Web con JBuilder

Instalar PhotoGestión en un Mac con VirtualBox

TUTORIAL ACADÉMICO. Programación II- Taller de Programación I Fa.CENA. UNNE

Tutorial básico del entorno de desarrollo Eclipse.

Instalación del Admin CFDI

Manual de NetBeans y XAMPP

Universidad ORT - Arquitecturas de Software sobre plataforma JEE Web Services (parte 1)

firma digital Cómo se obtiene Agregar Certificado Digital a Firefox Agregar Certificado Digital a Internet Explorer Firmar otros documentos

Guía de instalación del software de la asignatura

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

Cómo crear una copia de seguridad del contenido de Outlook. Service Desk

Manual de JSP con Eclipse y ApacheTomcat o JBoss

Tutorial: Instalación de Eclipse para programar Android en Windows

1 Itinerario. 2 Descripción y funcionalidades principales. Google Docs. 1.1 Qué vamos a hacer? 1.2 Qué pasos vamos a seguir?

COMO HACER BACKUP Y RESTAURAR ACTIVE DIRECTORY

Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia


COBHTTPD Tutorial COBHTTPD. Servidor de Aplicaciones para COBOL. Tutorial Ver Page - 1 -

CONFIGURACIÓN BÁSICA DE UNA VPN EN WINDOWS XP PROFESIONAL

WINDOWS : TERMINAL SERVER

INSTALACION DE UN SERVIDOR LOCAL CON EasyPHP

Plantillas Office. Manual de usuario Versión 1.1

Manual Instrucciones Firma Digital

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

SEPARAR Y ADJUNTAR UNA BASE DE DATOS. Separar una base de datos

Mejoras introducidas MARKETING GIO

Instalación del programa PSPP y obtención de una distribución de frecuencias.

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

Office Online Office Online

MANUAL TARIFICADOR A continuación encontrara un Paso a Paso de la instalación del tarificador.

CONFIGURACION AVANZADA DE MOZILLA THUNDERBIRD

PROCEDIMIENTO DE INSTALACION SOFTWARE ESCRITORIO

MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA

TUTORIAL ENVIO SMS MASIVOS. 1. Segmentación de la base de datos de clientes

Servicios web con SOAP y Eclipse

Instalación de Tomcat7 en Ubuntu

REQUISITOS PARA LA IDENTIFICACIÓN CON CERTIFICADO DIGITAL

Redes II Universidad Nacional de Jujuy Facultad de Ingeniería Carrera: APU 2008

Proyecto de Facturación con Filemaker Pro 12

CREAR UN FORMULARIO PARA LA WEB DE NUESTRO CENTRO

Guía de instalación del servidor

Entrenamiento de docentes para el uso efectivo y desarrollo de recursos. Tutorial Inicial

INSTALACIÓN PHP+MYSQL CON EASYPHP

MANUAL TARIFICADOR. Clic aquí Descargar Tarificador

1. Configuración del entorno de usuario

Guía de uso del Cloud Datacenter de acens

Al ejecutar esta aplicación tenemos lo siguiente: Pulsamos en Wizard mode y nos aparece lo siguiente:

Protocolo Traslado_envío datos personales

Explotación de Sistemas Informáticos IES Murgi PRÁCTICA 9: SERVICIO WEB Y FTP DE INTERNET INFORMATION SERVICE

Acá vamos a ocuparnos de cómo realizar la instalación de una red intra-aula sobre Linux, concretamente en la distribución de GNU/Linux Ubuntu 9.04.

Asegurar s con MS Exchange 2003

Manual de Usuario De Respaldo y Restauración de Información

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

CÓMO AÑADIR UN FORMULARIO NUEVO O MODIFICAR EL DE CONTACTO DE LA WEB

Universidad Tecnológica del Valle del Mezquital. Desarrollo de Aplicaciones Web. Manual JSP

Una App para Facebook

Guía para publicar su equipo en Internet.

Tutorial para Tuars Hosting. 1. Primeros pasos: creación de usuario.

Hacer una página web con Kompozer

Configuración servidor Tomcat

Instalación de cygwin-x. Pablo Sanz Mercado.

Configuración del cliente IMAP de correo electrónico de la Universidad de Sevilla:

Compartir Biblio en una red local con Windows XP

Ambos paquetes simplifican mucho la instalación del servidor en el equipo. Y ambos pueden ser utilizados para la creación de una red intra-aula.

Migrando WSS 2.0 a WSS 3.0

Crear una Activity en Android. Paso por paso

DATOS EN SERVIDOR DE RED PROCEDIMIENTO PARA INSTALACIÓN Y CONFIGURACIÓN DE BASES DE DATOS EN SERVIDORES DE RED

GUÍA DE AYUDA No. 659

HOW TO SOBRE REMOTE ACCESS VPN MODE EN LINUX

MANUAL DE USUARIO DE CUENTAS DE CORREO

Marta Soler Tel: Fax: TUTORIAL DEL GESTOR DE CONTENIDOS DOTNETNUKE

Podemos descargar la distribucion de gnu/linux de los repositorios de Ubuntu

COPIAR CORREOS ENTRE CUENTAS USANDO IMAPSIZE

MÓDULO 3 HERRAMIENTAS EN LA NUBE: ANFIX

Requisitos del Sistema Instalación SQL Server

Archivo de correo con Microsoft Outlook contra Exchange Server

FREEDOS 1.0. CURSO DE TÉCNICO EN SEGURIDAD DE REDES Y SISTEMAS José María Torres Corral

CITRIX Citrix Application Streaming

MANUAL DE. manual de Joomla JOOMLA

Manual de configuración de Adobe Reader para la validación de la firma de un documento.

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario

PREPARANDO EL ENTORNO DE DESARROLLO PARA PROGRAMAR EN PHP. DESCARGAR E INSTALAR NOTEPAD++ (CU00808B)

Instalación del programa PSPP y obtención de una distribución de frecuencias.

Personal Broker v.4.0.5

MANUAL DE MANTENIMIENTO PARA LA PÁGINA WEB DE PROYECTO ADL SUBIDA Y PUBLICACION DE DOCUMENTOS PARTE II

Un pequeñísimo tutorial para explicar cómo darse de alta al MEJOR SISTEMA de compartición, backup... en la web.

INSTALACIÓN DE MEDPRO

Laboratorio de Redes y Sistemas Operativos Trabajo Práctico Final


CONFIGURACION AVANZADA DE OUTLOOK EXPRESS 6

ASISTENCIA TÉCNICA A LA SEGURIDAD EN PYMES DE MELILLA MANUAL TIGHTVNC

Redes de área local: Aplicaciones y servicios WINDOWS

Manual de usuario del plugin RM-ODP para MDT Papyrus

Instalación y Configuración de un Servidor FTP

Transcripción:

CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa vjsosa@tamps.cinvestav.mx En este documento explicaré brevemente cómo construir un servicio web con Java Axis2 y cómo invocarlo desde un cliente o directamente de un navegador. El ejemplo se desarrolla utilizando el IDE Eclipse y el contenedor de servlets Tomcat en un entorno Windows. La lógica del servicio será muy simple, ya que sólo deberá decir Hola Mundo o cualquier otra cadena de caracteres que queramos. Requisitos para empezar. Eclipse: Para el desarrollo del ejemplo se utilizó como IDE a Eclipse. En caso de no contar con Eclipse, el primer paso será descargarlo. La versión de Eclipse que se utilizó fue Eclipse IDE for Java EE Developers (Luna), el cual se puede descargar de: https://eclipse.org/downloads/indexdeveloper.php, tomar en cuenta que se está utilizando Java EE, que incluye las librerías necesarias para el desarrollo de aplicaciones web. AXIS2: Como motor de servicios web, en este ejemplo utilizamos Axis2, en su versión binaria 1.6.2 para Windows. Se puede descargar de: http://axis.apache.org/axis2/java/core/download.cgi Tomcat: También es necesario que instalemos el contenedor de servlets Tomcat. La versión utilizada para este ejemplo fue la 8.0, la cual se puede descargar de: http://tomcat.apache.org/download-80.cgi Configuración de Tomcat en Eclipse. Una vez que hemos descargado e instalado este software, abrimos eclipse y lo configuramos para su uso con Tomcat. Para hacer que eclipse reconozca nuestro Tomcat 8.0 nos iremos a: Windows-> Show View-> Other-> Server -> Server Al dar Ok ahí, aparecerá una pestaña que dice servers como se muestra en la figura

Nos posicionamos en esa ventana, oprimimos botón derecho y nos vamos a: New-> New Server mostrando la siguiente ventana Ahí elegimos nuestro Tomcat v8.0 e indicamos el lugar donde lo hemos instalado (un wizard nos guiará durante la configuración). Después de que ya nos aparece que el servidor está incluido como parte de la configuración de Eclipse, podemos dar doble click donde indica el nombre del servidor: Tomcat v8.0 Server. En la parte que dice server location vemos que por default aparece use workspace metadata lo que indica que usaremos una configuración de Tomcat que es para desarrollo y no para producción (es decir, no modificaremos directamente los archivos que tenemos instalados en nuestro Tomcat local). Esta opción es la que usaremos para el ejemplo. Sin embargo, podríamos también cambiar la parte que dice server location para que tenga la opción use tomcat installation, lo que haría que usemos directamente los archivos del Tomcat que tenemos instalado sin instanciar otro para uso exclusivo de este ejemplo. En este último caso podemos ver que usando el icono del mundo de Eclipse, open web browser, la página principal de Tomcat se encuentra en http://localhost:8080/. De lo contrario, que es el caso de nuestro ejemplo, en esa dirección no encontraremos la página principal de Tomcat. Para mayor información sobre como configurar Tomcat en Eclipse (utilizando un ejemplo con Tomcat 7) se puede consultar el siguiente tutorial https://www.youtube.com/watch?v=huyd6qlond8

Configuración de Axis2 en Eclipse Para configurar Axis2 en Eclipse nos vamos a: Windows->Preferences->->Web Services->Axis2 Preferences Ahí pondremos la ruta donde fue instalado Axis2 (distribución binaria), en mi caso: C:\Users\vjsosa\apps\axis2-1.6.2 La siguiente imagen muestra este proceso. Sin movernos de la pestaña de Web Services, nos pasamos ahora a la opción de Server and Runtime, accediendo desde la pestaña original en Eclipse, sería: Windows->Preferences->Web Services->Server and Runtime. En este lugar indicamos que usaremos Tomcat como Server Runtime y Axis2 como Webservice Runtime. La siguiente imagen muestra este proceso.

Creación de un Servicio Web A continuación vamos a crear nuestro ejemplo de proyecto web en eclipse. Primero nos vamos a: File-> New-> Dynamic Web Project Al proyecto (paquete) le pondremos cinvestav.servicioweb. Como nota adicional, quiero mencionar que dado que surgió un problema de compatibilidad entre la versión de Axis2 que descargué con la versión 3.1 del paquete Dynamic Web Module, fue necesario cambiar la versión del Dynamic Web Module a 2.5. Esta versión es compatible con la versión de Axis2 instalada. Las siguientes figuras muestran el proceso y los datos asignados.

Una vez que hemos creado el proyecto, procedemos a crear nuestro servicio web, mediante crear la clase Prueba. Esta clase se crea como cualquier otra en la sección de Java Resource src. package cinvestav.servicioweb; public class Prueba { public String sayhello(){ System.out.println("Probando sayhello"); return "Hola Mundo!!"; } } A continuación es momento de registrar esta clase como servicio web. La forma de hacerlo es la siguiente: Posicionar el mouse sobrela clase y oprimir botón derecho y dar: New-> Other-> Web Service-> Web Service

La imagen muestra la información de configuración que aparecerá. Es importante verificar que en configuración aparezcan Tomcat v8.0 (o la versión que se haya instalado) en Server Runtime y Apache Axis2 como Web Server Runtime. El proceso natural de creación de los Web Services es Top Down, es decir, primero crear la descripción del servicio (WSDL) y a partir de ella la clase en cuestión, pero para este ejemplo se hizo al revés Bottom up, primero la clase y luego la descripción. Una vez hecho esto, seguimos todos los pasos del Wizard. Veremos que en uno de ellos nos pedirá arrancar el servidor Tomcat (en caso de que no lo esté). A continuación abrimos un navegador y ponemos la dirección: http://localhost:8080/cinvestav.servicioweb/axis2-web/ Si estuviéramos usamos la instalación directa del Tomcat (opción use Tomcat installation ), la url sería: http://localhost:8080/axis2/ En esta dirección nos aparecerá la página de inicio de Axis2 con un enlace que pone Services. Al dar click sobre él, aparecerá el listado de todos los servicios web que hasta el momento hayan sido desplegados, por lo que debería aparecer

Al dar click en Services veremos nuestro servicio web. Si damos click en Prueba nos mostrará el contenido del WSDL (descripción del servicio). Podemos ver que este contenido se encuentra en la url: http://localhost:8080/cinvestav.servicioweb/services/prueba?wsdl

Para invocar la operación sayhello desde el navegador podemos emitir la siguiente url: http://localhost:8080/cinvestav.servicioweb/services/prueba?sayhello El navegador mostrará la respuesta en XML.

El siguiente paso será la generación de los Stubs a partir de la clase que hemos desarrollado como servicio web. Estos Stubs permitirán a los clientes invocar las operaciones definidas en nuestro servicio web. Los archivos que se generan contienen todos los elementos (clases) necesarios para invocar dichas operaciones desde una aplicación cliente; hace las veces de proxy. Para generar los Stubs: Dar botón derecho sobre la clase Prueba y: New -> Other- > Web Service Client. En Service definition ponemos la url donde se ubica el WSDL del servicio: http://localhost:8080/cinvestav.servicioweb/services/prueba?wsdl Podemos ver que el cliente puede trabajar en varios modos (Client Mode): synchronous, asynchronous o ambos. Elegimos la opción synchronous para este ejemplo, lo que quiere decir que el cliente deberá esperar por la respuesta una vez que invoque la operación. A manera de ejercicio también podríamos hacer una prueba donde el cliente trabaje en modo asynchronous o en ambos. Una vez generado estos archivos Stub, procedemos a programar nuestra clase cliente:

package cinvestav.servicioweb; import java.rmi.remoteexception; import org.apache.axis2.axisfault; import cinvestav.servicioweb.pruebastub.sayhello; import cinvestav.servicioweb.pruebastub.sayhelloresponse; public class Cliente { public static void main(string[] args) { try { //Se crea un objeto del proxy(stub) hacia el servicio web PruebaStub holamundo = new PruebaStub(); //Creamos un objeto que representa la operación a invocar. SayHello dihola = new SayHello(); //Se invoca la operación y se obtiene la respuesta. SayHelloResponse respuesta = holamundo.sayhello(dihola); //Se muestra la respuesta. System.out.println(respuesta.get_return()); } } } catch (AxisFault e) { e.printstacktrace(); } catch (RemoteException e) { e.printstacktrace(); } Al ejecutar esta clase podemos ver la respuesta de la operación sayhello en pantalla. Es importante notar que para este ejemplo tuvimos que incluir: import cinvestav.servicioweb.pruebastub.sayhello; import cinvestav.servicioweb.pruebastub.sayhelloresponse; Paquetes que nos sirven para crear el objeto que representará a la operación a ejecutar y que recibirá la respuesta. También los paquetes: import java.rmi.remoteexception; import org.apache.axis2.axisfault; que se utilizan para gestionar (try-catch) los posibles errores que pudieran surgir en la conexión.