Mostrando entradas con la etiqueta Web Service. Mostrar todas las entradas
Mostrando entradas con la etiqueta Web Service. Mostrar todas las entradas

lunes, 21 de mayo de 2012

Generar un cliente webservice con eclipse (Axis client)


Como se comentó en la entrada pasada, ahora toca hacer el cliente del web service.

Para generar el cliente, primero debemos generar un nuevo proyecto web dinámico, desde donde crearemos el cliente que consuma el web Service. Para esto damos a New/Other Web Services/ Web Service Client.




En la siguiente pantalla debemos elegir el webservice que generamos en la entrada pasada:


 Para seleccionar el wsdl, previamente damos a browse, y buscamos el web service:



Indicamos que queremos probar el cliente, con los mismos servidores y runtime que hemos elegido anteriormente para la ejecución en local (en la ejecución real no serán los mismos, puesto que se ejecutarán en equipos distintos).


Generamos el Proxy en la ubicación de los sources


Para probar el Web Service, seleccionamos los métodos que queremos que se publiquen, en este caso “testHolaMundo”


Y con esto nos generará el cliente con todo lo necesario para hacer las pruebas, como las clases que importan el Web Service:



Las jsp’s para introducir los parámetros:



Y las librerías necesarias:


El cliente generado será asi:













lunes, 23 de abril de 2012

Crear un Web Service con eclipse.



Para generar un Web Service, se puede hacer de dos maneras, Bottom up y up to bottom. 
La manera mas "académica" de generarlo es haciendo un wsdl primero (up to buttom) debido a que se genera la interfaz del web service primero y los cambios que puedan darse no afectarían a ésta interfaz.

La manera Bottom up es primero crear una clase con los métodos que se generarán como web service y a partir de ahi generar el wsdl. 

Para esta segunda opción (que es la que se explicará a continuación) lo más recomendable es crear una clase con los métodos a los que llamará el Web Service y que ésta se encargue de llamar a los métodos de negocio. También, en caso de ser necesaria una lógica de “traducción” o de validación de los parámetros enviados desde el Web Service a los de la lógica de negocio, en esta clase podría aplicarse dicha lógica. 


Como ejemplo, tomaremos la siguiente clase:
package test;

public class HolaMundo
{

public String testHolaMundo(String parametro)
{    
     
                  /*La lógica de validación y/o traducción de parametros a
       * los métodos de negocio se pone aqui.
       * */
           
return "Hola mundo web service. Has enviado: " + parametro;
            }

}


Una vez teniendo esta clase, el webService se puede generar mediante los asistentes de Eclipse, como se indicará a continuación:

Seleccionamos la clase sobre la cual queremos que se genere el webService y damos click derecho, New/Other Web Services/Web Service.


Una vez seleccionado esto, nos aparecerá un asistente en el cual indicaremos lo que queremos generar del web Service. En este caso lo haremos hasta la ejecución del web Service.

En “Configuration” elegimos el servidor (en este caso Tomcat) y el runtime de los Web Services (Apache Axis), así como el proyecto sobre el cual lo generaremos (donde está ubicada la clase que exportaremos a web Service). De momento no generaremos el cliente.



Asignamos el nombre que queremos darle a nuestro wsdl (el alias del webService, el nombre de la clase con el que lo invovcaremos.) y seleccionamos los métodos que queremos que se publiquen en el webService.






Una vez hecho esto, debemos arrancar el servidor que indicamos al inicio del asistente:



Y podemos finalizar el asistente, con lo que nos creará todo lo necesario para que se publique el web service y el wdsl.


En la siguiente entrada se explicará como generar un cliente para este web service.