En este post se va a explicar cómo consumir un web service REST utilizando RestTemplate de Spring. Concretamente, se va a consumir los servicios proporcionados por http://freegeoip.net/{format}/{ip-address}, que devuelve la geolocalización de la dirección ip indicada en el parámetro ip-address, en el formato indicado en el parámetro format. Si no se indica el parámetro ip-address, devuelve los datos de la ip desde la que se hace la petición al web service. Los formatos en que se obtiene la información son xml, csv y json. Para cada uno de estos formatos, crearemos las correspondientes clases java y la información recibida la mapearemos en instancias de estas clases.
Continue reading »
Consumir Web Services SOAP con WebServiceTemplate de Spring
En este post se va a explicar cómo consumir un web service SOAP utilizando WebServiceTemplate de Spring. Concretamente, se va a consumir los servicios proporcionados por http://www.webservicex.net/globalweather.asmx, el cual tiene dos métodos, uno GetWeather, que permite obtener la temperatura en una ciudad de un país dado, y otro, GetCitiesByCountry, que permite obtener la relación de ciudades de un país de las que se tiene información meteorológica. El WSDL del web service se encuentra en http://www.webservicex.net/globalweather.asmx?WSDL.
Básicamente, la idea central de WebServiceTemplate es enviar un objeto Java al web service y recibir los datos que devuelve dicho web service en otro objeto Java. Si bien la comunicación en servicios SOAP se realiza enviando y recibiendo datos en formato XML, a través de conversores, WebServiceTemplate utiliza en todo momento para el intercambio de información objetos java, haciendo transparente todo el proceso que requiere SOAP. Esta conversion de datos, marshalling/unmarhsalling, se realiza utilizando JAXB2.
Migración JSF1.2, Spring 2.5.6, RichFaces 3.3.3.Final y Primefaces 1.1 a JSF2, Spring 3, RichFaces 4.0.0.Final y Primefaces 2.2.1
En el presente post se va a describir los pasos necesarios para migrar una aplicacion web de JSF1.2 a JSF2 así como las modificaciones necesarias para migrar Spring, RichFaces y Primefaces.
Continue reading »