La arquitectura de servicios web (‘Web Services’) se ha hecho muy popular en los últimos años. Es la manera más simple de poder comunicarte con alguna funcionalidad de la que necesitas extraer alguna información en el Internet. Aquí te mostramos como Groovy te facilita el leer y procesar estos servicios fácilmente.
En su manera más sencilla, los servicios web simplemente son llamadas a servidores que responden en formato XML. Los protocolos en general son los mismos que utilizarías para obtener información en HTML, pero con la diferencia de que lo que recibes es procesado por el programa que lo está llamando.
Groovy te ofrece la clase URL del paquete java.net el cual llames simplemente de la siguiente manera:
def resultados = new URL("http://localhost:9090/teqi/webSearch/list").text
La variable resultados contiene el contenido de la pagina ’webSearch/list’ que el servidor nos mando. Y eso es todo lo que necesitas para hacer una llamada a un servidor web, una sola línea:
Para expandir la funcionalidad y hacerle en realidad que se llame de servicios web, necesitamos procesar un resultado en XML y no en HTML. Cambiando el código de esta página, y con la misma llamada, ahora recibimos el XML que necesitamos:
Ahora para procesar el XML simplemente usamos la clase XmlSlurper (incluida en las librerías Groovy) la cual nos da un objeto con todos los componentes del XML recibido:
def xml = new XmlSlurper().parseText(resultados)
Y de aquí podemos llamar los elementos directamente.
En este caso, el XML contiene un elemento el cual contiene los elementos y :
Simplemente obtenemos cada elemento llamándolo de la siguiente manera: xml.webSearch.clickUrl y xml.webSearch.mimeType respectivamente, lo cual nos da el resultado:
Ejemplo Groovy de Proceso XML
Con solo dos líneas de código en Groovy, podemos procesar servicios web fácilmente.
- Inicie sesión o regístrese para enviar comentarios


