Después de haber arrancadao nuestro servicio web como vimos en la primera parte de este curso, vamos a ver como podemos crearnos un cliente que conecte y pueda realizar las diferentes operaciones que propusimos.
Creamos un nuevo proyecto tal cual vimos en el apartado anterior, ahora en vez de crearnos una clase normal en java iremos a BusinessTier, Web Services y pulsaremos sobre Web Service proxy.
Pulsamos siguiente e iremos a una ventana donde nos piden la ruta del MyWebService1.wsdl que creamos anteriormente, para ello la buscamos en la carpeta donde guardamos el proyecto anterior, en public html, WEB INF y dentro de la carpeta wsdl lo encontraremos.
Ahora si pulsamos sobre finalizar veremos como se nos crean muchos archivos en nuestro proyecto, ahora tendremos que conectar.
Si todo ha ido bien nos aparecerá el cursor dentro del main de la clase proxy que hemos creado, donde nos dice exactamente donde tendremos que poner nuestro código.
[java]
public static void main(String[] args) {
try {
AQUI.mypackage.MyWebService1SoapHttpPortClient myPort = new AQUI.mypackage.MyWebService1SoapHttpPortClient();
System.out.println(“calling ” + myPort.getEndpoint());
// Add your own code here
} catch (Exception ex) {
ex.printStackTrace();
}
}
[/java]
Ahora tendremos que añadir al main un par de lineas para poder conectar, para ello necesitaremos saber la url que nos proporcionó antes el jdeveloper donde se ubica nuestro servicio web, una vez que la tengamos nos quedaría de esta manera:
[java]
public static void main(String[] args) {
try {
AQUI.mypackage.MyWebService1SoapHttpPortClient myPort = new AQUI.mypackage.MyWebService1SoapHttpPortClient();
System.out.println(“calling ” + myPort.getEndpoint());
myPort.setEndpoint( “http://zeus:8990/ServicioWebForo-ServicioWebForo-context-root/MyWebService1SoapHttpPort” );
myPort.setMaintainSession( true );
// Login and authenticate
//boolean hola = myPort.login( “p”, “p” );
//Llamamos a las funciones que queramos de nuestro servicio web
String mensaje = myPort.buscarMensajes(“g”,”g”,”MENSAJE”);
System.out.println(mensaje);
} catch (Exception ex) {
ex.printStackTrace();
}
}
[/java]
Ya está terminado nuestro cliente, ahora cada uno le da forma a su imagen y semejanza, usando la imaginación podremos hacer todo lo que queramos.
Yo añadí una interfaz gráfica con SWING para gestionar todo el cliente, en cuanto tenga un hueco me gustaría subir el código por si alguien lo necesita, de todas maneras la base está aqui, a partir de esto podemos crear lo que más nos guste.








Buen par de artículos para comenzar a meter la cabeza en esto de los servicios web…
gracias!
De nada! dentro de poco empezaré igual pero con php
hola, he logrado crear el web service pero no entiendo aun porque hacer un proxy en le cliente la verdad yo tengo ya una apliacion hecha como cliente con servlets y jsp, mi pregunta es: como podria consumir el web service? si y a la apliaccion cliente ya existe no como proxy, ademas como desplegarlo en apache tomcat, gracias de antemano
[...] hola, he logrado crear el web service pero no entiendo aun…will [...]
Hola, como puedo consumir un web service desde un servlet o un jsppor favor ayudame gracias
will, para poder llamar a un servicio web, tienes que hacerlo de la manera que se explica en este tutorial, si quieres puedes reutilizarlo en un servlet, pero si sigues un patrón de diseño MVC no sería muy conveniente hacerlo en un jsp.
gracias, creo que te entendi, voy a probar lo que estoy pensando, te comento mis experiencias, gracias una vez mas.
De nada will, espero que todo te salga bien
Hice un servicio web basandome en el tuyo con unas modificaciones, que implican seleccionr todos los datos de una tabla, la duda que tengo es como regresar esos datos o en que se puden regresar en una tabla, en variables? y ademas no se si hayas echo un servicio en java y que tu cliente sea en .NET? gracias de ntemano
Hola jcDiaz, en principio puedes devolver una tabla en arrays… creo que es la forma más sencilla de trabajar con esos datos o puedes hacer un collection de objeto lo parseas a xml y lo envías al receptor para que lo trasnforme al objeto inicial.
Sobre lo del cliente .NET en eso se basan los servicios web, para comunicar distintas plataformas con distintos lenguajes, yo no lo he hecho nunca pero los he visto y son bastante sencillos de realizar, mucho más que con java.
hola esta interesante tu ejemplo, pero en mi universidad me han dejado consumir un servicio web hecho en visual studio.net (que tenga metodos que devuelvan datos desde una bd hecha en sql server 2005) desde una aplciacion cliente hecha en java en particular con netebeans, cual fuere la version.
he buscando en la red y la infotmacion es poca.
si tienes alguna informacion que me pueda ser util
te agradeceria me puedas ayudar por favor.
mi correo es oscar_aldea@hotmail.com.
gracias de antemano
Pues me temo que con Visual .net no he tocado nada de este tema, espero que encuentres en Internet lo que necesites.
Hola, buscando en internet la forma de implementar un servicio web en java, me encontre con este articulo que publicaste, la verdad es que te felicito, me ha ayudado de mucho. Mi problema ahora es que necesito hacer un pequeño cliente para consumir el servicio web, debo hacer el cliente con swing, si pudieras publicar un ejemplo por muy sencillo que fuera usando swing, ya que dices que lo hiciste con swing pues te lo agradeceria infinitamente, solo necesito ver la forma de conectar swing con el servicio web.