You are on page 1of 8

Tutorial WebService

El tutorial está realizado en el siguiente ambiente:


Sistema Operativo: Windows 7
Entorno de Desarrollo: IDE Netbeans 6.9.1
Administrador de Base de Datos: PostgreSQL 9.0

Como primera medida vamos a tener una base de datos (webservices_prb) creada
en PostgreSQL, con una tabla (persona) la cual consta de dos campos (id,
nombre).

En el entorno de desarrollo Netbeans se crea un nuevo proyecto Web


(WebService_Prb) y se le crea un nuevo paquete (paquete_service)
Ahora si podemos pasar a crear un nuevo servicio web, así, ubicados en el
proyecto dar click derecho  Nuevo  Web Sevice…

Luego nos aparece un cuadro de dialogo para indicar el nombre de este web
service y para seleccionar el paquete en donde será destinado:
Al momento de crearlo pueden encontrar que genera un error esto se debe a que
el Web Service espera como mínimo una operación a realizar. Nos da la
oportunidad de incluir las operaciones a través de solo código o sino también con
ayuda de una interfaz gráfica :D. Entonces en este momento vamos a construir
una nueva operación por medio de diseño, así que vamos a la pestaña Desgin
(Diseño) y en la sección Operations (Operaciones) dar click en el botón Add
Operation..(Agregar Operación)

Nos encontramos con una nueva ventana para ingresar el nombre de la operación,
tipo de dato devuelto y parámetros de entrada.

En el caso anterior es una operación que se llama getNombrePersona que


devuelve un tipo de dato String (nombre de la persona) y se le ingresa un
parámetro de tipo String (id de la persona).
Luego de agregados estos elementos podes dar click en aceptar y será creada la
operación. Ahora debemos construir una clase que nos permita realizar la
conexión desde Java a PostgreSQL
Nota: Recordar realizar set() y get() a los campos. Así como también tener la
importación de la librería con el driver JDBC para PostgreSQL dentro del proyecto.
Esto se hace en la sección Libraries (Librerías) del proyecto, click derecho  Add
Library…  Y en el cuadro de diálogo buscar la que dice: PostgreSQL JDBC
Driver (o similar).

Esta otra porción de código también va incluida dentro de la clase anterior


(Conexión)

Ahora podemos ir al WebService creado y ubicarnos en la pestaña Source


(Código), para agregar algo de código fuente para la operación:
En esta operación lo que se hace es instanciar un objeto de la clase conexión
anterior, a la que se le pasan por parámetro el nombre de usuario, la contraseña y
el nombre de la base de datos, así como también se crean otros campos que
serán usados luego. Se obtiene la conexión y se le pasa al objeto con. En la
sentencia sql se recoge del registro, el nombre de la persona que tenga como id el
mismo que se ingresa por parámetro desde la operación. Después se ejecuta la
consulta sql y el resultado (es decir, el nombre) se guarda en una variable llamada
nombre, luego se cierran todos estos objetos y se retorna el nombre de la persona
encontrada y pues si no hubo ningún registro arrojado nombre quedará como null.

Hay que poner a andar el proyecto para que pueda ser consumido por un cliente,
esta acción la logramos haciendo click derecho sobre el proyecto y luego click en
la opción Deploy (Implementar) y ya se estará ejecutando el servicio web.

Ahora vamos a crear otro proyecto web nuevo, que hará de aplicación cliente,
osea la que va a consumir el web service.

Cuando esté creada entonces damos click derecho sobre el proyecto Nuevo 
Web Service Cliente…
Pasamos entonces a la configuración de datos para el consumidor del servicio
web:

Se escoge la opción que dice: WSDL URL y aquí se introduce la misma dirección
que le ha sido asignado al servicio web pero con la terminación ?wsdl, para así
apuntar al Web Service y poder consumer sus métodos web. Seleccionar un
paquete en donde se introducirá y ya se puede finalizar esta acción.

Nos ubicamos ahora en el archivo index.jsp (por ejemplo) y en la sección de


etiqueta <body></body>, dar click derecho  Web Services Client Resources 
Call web service Operation…
Y se abre el siguiente cuadro, en dónde seleccionamos la operación que se va a
llamar, en este caso getNombrePersona

Y él automáticamente se encargará de introducir el código respectivo que en


cualquier momento uno puede “cambiar” según los requerimientos.
Hagamos por ejemplo ahora unas pruebas para este consumo del servicio,
supongamos que en la tabla persona de la base de datos webservices_prb
contamos con algunos datos almacenados
Y en el código que generó el servicio web del cliente cambiamos el id por uno de
los que ya tenemos en la base de datos: 1, 2, 3 …. Si introducimos un código por
uno inexistente, el resultado será null, comprobemos:

Espero les sea de utilidad los pasos anteriores.