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.
Hola, que necesito tener instalado para crear un Web Service, tengo la version Classic de eclipse Juno, gracias!
ResponderEliminarNecesitas 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.
EliminarCrees que con este tipo de Web service se pueda conectar a alguna base de datos como SQL SERVER o MySql?
ResponderEliminarClaro, 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.
Eliminarque version de eclipse es este?-- amigo podrias respoder los comentarios no?...puedo interactuar con oracle???
ResponderEliminarLa versión es Helios. La nueva versión es Kepler, y funciona de la misma manera
EliminarPara el que le interese, creo que la versión de eclipse debe ser la EE.
ResponderEliminarY 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
Una disculpa, he tenido el blog abandonado mucho tiempo. En breve hare actualizaciones y un lavado de cara, ademas de publicar nuevas entradas
ResponderEliminarSí qué bueno que encontré este tutorial.
ResponderEliminarHoy 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
Eso te lo debo. No he trabajado con Bootstrap
Eliminar