domingo, 6 de agosto de 2017

SOAP Web Services con NetBeans

Antes de poner manos a la obra, conviene leer una pequeña y consisa introducción de NetBeans
sobre web services https://netbeans.org/kb/docs/websvc/intro-ws.html

Comenzando con JAX-WS Web Services, del learning trial https://netbeans.org/kb/docs/websvc/jax-ws.html. Aquí se elabora una aplicación que proporciona un Web Service de una simple calculadora utilizando la tecnología Java API for XML Web Services (JAX-WS). Tambien se muestran tres clientes que consumen el Web Service, uno en una plataforma Java SE como aplicación java. el segundo como una aplicación web con servlet, y el tercero como una aplicación web con JSP.

   Un detalle para el desarrollo de esta aplicación es que se tiene que habilitar al IDE y al Glassfish server para acceder al esquema externo para poder parsear el archivo WSDL (Web Service Description Language) del web service. algo que se describe en el documento, que en mi caso no me presento difucultades, pero sí actualize el Glassfish a la version 4.1.1, la que venia original con el IDE tenia bugs en su parte de adminstración web.

  En lo personal me agrada la facilidad de integrar los métodos del web service al cliente con solo arrastrarlo o por medio de Insertar Código..., es simplemente genial. Por el momento hacer esto de web services en el ide de Eclipse se ha visto más complicado, en cambio con netbeans es como un pan sin gluten.

  El Web Service puede ser deployado en un web container o en un EJB container. Si se Tiene un Apache Web server que solo tiene un web container, se deberá crear una aplicación web, no un EJB module.

El código en github
https://github.com/jalbertomr/startingJAX-WSWebServices.git

La estructura del conjunto de los projectos CalcularorWS y sus clientes es


Para Probar el web service creado en Netbeans click derecho en View Project -> NodoDelProjecto->WebService->CalculatorWS->Test Web Service




La corrida de la aplicación java que expota el web service nos da en la ventana output

run:
Hello Perrito!
add(3,4) Result = 7
substract(3,4) Result = -1
BUILD SUCCESSFUL (total time: 2 seconds)

La aplicación web en su modalidad servlet muestra en browser (notece se agrega al url /ClientServlet)


La aplicación web en su modalidad JSP muestra en browser


el projecto CalculatorWSAppMavenEJBModule es la versión en la modalidad de EJB Module que necesita glassfish. Los clientes tambien pueden hacer referencia a este web service con minimos cambios, solamente hay que refrescar el web service client del projecto. esto es borrar el web service y volverlo a asignar tomando como fuente el del EJB module.


No hay comentarios:

Publicar un comentario