style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Servicios Web con Java SE 6 (Parte 3)

Con lo realizado en el post anterior ya tenemos un sencillo Servicio Web casi listo para ser desplegado en algún contenedor Java EE; no obstante podemos probarlo sin necesidad de uno si creamos un endpoint dentro de una aplicación que actuará como host del servicio web, tal como se ilustra en el siguiente código:

Listado de SimpleHelloWS.java

import javax.xml.ws.Endpoint;
import hello.Hello;

public class SimpleHelloWS {
  public static void main(String[] args) {
    String endpointAddress = “http://localhost:8080/hello”;
    Endpoint.publish(endpointAddress, new hello.Hello());
    System.out.println(”El Servicio Web Hello se está ejecutando…”);
    System.out.println(”WSDL: ” + endpointAddress + “?wsdl”);
  }
}

Nótese que es mediante el método publish de la clase javax.xml.ws.Endpoint que se crea y publica un endpoint para una instancia de la clase hello.Hello en la dirección -http://localhost:8080/hello. Esto último gracias a que la clase Endpoint utiliza el servidor web “liviano” de Sun que está incluido en Java SE dentro del paquete com.sun.net.httpserver.

Tras compilar y ejecutar la aplicación se mostrarán dos líneas indicando que el servicio se está ejecutando e indicando la ubicación del “contrato del servicio”, el archivo WSDL, para cualquier cliente que desee acceder al mismo.

>javac SimpleHelloWS.java
>java SimpleHelloWS
El Servicio Web Hello se esta ejecutando...
WSDL: http://localhost:8080/hello?wsdl

Lo siguiente que veremos es cómo crear un cliente que lo consuma. ¡Hasta la próxima!

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">