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.










10 comentarios:

  1. Hola, que necesito tener instalado para crear un Web Service, tengo la version Classic de eclipse Juno, gracias!

    ResponderEliminar
    Respuestas
    1. Necesitas un servidor de aplicaciones. Puede ser Tomcat, JBoss, Glasfish, etc. También necesitas las librerías de axis, que por lo general vendrán incluidas en la distribución de eclipse que tengas. Con eso debería ser suficiente.

      Eliminar
  2. Crees que con este tipo de Web service se pueda conectar a alguna base de datos como SQL SERVER o MySql?

    ResponderEliminar
    Respuestas
    1. Claro, la conexión la puedes hacer con JDBC directamente o si prefieres, conectarte con un ORM como Ibatis o Hibernate. A final de cuentas, un web service SOAP es solo una interface para transferencia de objetos con un protocolo común entre plataformas.

      Eliminar
  3. que version de eclipse es este?-- amigo podrias respoder los comentarios no?...puedo interactuar con oracle???

    ResponderEliminar
    Respuestas
    1. La versión es Helios. La nueva versión es Kepler, y funciona de la misma manera

      Eliminar
  4. Para el que le interese, creo que la versión de eclipse debe ser la EE.
    Y claro que se puede interactuar con SQL Server, MySql u Oracle. Como cualquier otra aplicación Java. Te instalas el JDBC y lo usas.
    Lo que sí debería explicar es algo más detallado lo que necesitas instalar (tomcat, axis, etc). Aunque parece obvio, la primera vez no lo sabes (y el resto de las veces no necesitas un tutorial como este).
    Saludos

    ResponderEliminar
  5. Una disculpa, he tenido el blog abandonado mucho tiempo. En breve hare actualizaciones y un lavado de cara, ademas de publicar nuevas entradas

    ResponderEliminar
  6. Sí qué bueno que encontré este tutorial.
    Hoy fui a entrevista de trabajo y con todo y que les dije que manejo .NET, me harán examen en Java con Web Services yBootstrap. Puedes publicar algo de Bootstrap? El entrevistador nada más me dijo "dale una revisada" :S

    ResponderEliminar