viernes, 5 de abril de 2013

JAVA: Crear un servicio web básico con NetBeans 7.x


Una forma muy sencilla de desarrollar un servicio web en Java es haciendo uso de la plataforma de desarrollo NetBeans 7.x que nos permite además desplegarlos en un servidor web local para pruebas como es GlassFish.

Para descargarnos NetBeans iremos a https://netbeans.org/downloads/. De todas las opciones que nos indica, os recomiendo descargar el paquete Java EE o All para asegurarnos de tener instalado GlassFish. En mi caso he escogido el paquete All para curarme en salud ;-).

De la instalación voy a comentar poco, ya que simplemente hay que seguir el asistente con la técnica de “siguiente siguiente siguiente”, estando bien seguros que instalamos GlassFish.

Desarrollo del servicio web

En NetBeans 7.x, para crear un servicio web deberemos crear un proyecto de aplicación web.


En el asistente se nos preguntará por el servidor que usaremos, y es aquí donde seleccionaremos el GlassFish que hemos instalado.


Una vez creado el proyecto, añadiremos un nuevo WebService desde el menú contextual New > WebService….

Se nos abrirá un asistente en el que rellenaremos el nombre de la clase y su paquete.

Y con esto ya tenemos el servicio creado.
@WebService(serviceName = "WSDemo")
public class WSDemo {

    /**
     * This is a sample web service operation
     */
    @WebMethod(operationName = "hello")
    public String hello(@WebParam(name = "name") String txt) {
        return "Hello " + txt + " !";
    }
}

Analizando su código, vemos que el servicio publica una función llamada hello. Sabemos que la clase es un servicio por @WebService y que es una función publicada en el WS por @WebMethod. Si queremos añadir una nueva función, simplemente tendremos que copiar la anterior y cambiar lo que queramos ;-)

Para publicar el servicio simplemente seleccionaremos deploy en el menú contextual sobre el proyecto.


Es posible que nos pida permiso para arrancar GlassFish.


En el output del IDE nos mostrará que se ha generado correctamente y que GlassFish está iniciado.


En la pestaña de GlassFish podremos ver la ruta para acceder al servicio web.


Probando el servicio web

Accedemos a la URL que nos indica para ver el servicio. Para consultar su WSDL solo tenemos que añadir ?WSDL al final de la URL.
Esto nos valdrá en el caso de querer probarlo con herramientas como SoapUI (http://www.soapui.org/), al que deberemos indicarle el WSDL para que genere la invocación.


Este nos generará la invocación, y simplemente pulsado el botón de run, obtendremos el resultado en el lateral derecho de la request.


Simple, ¿verdad?