Ver Mensaje Individual
  #6 (permalink)  
Antiguo 10/09/2011, 03:37
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Dudas sobre WebService en Java

Hola:

En el caso de suma, tú tienes que ingeniártelas en el lenguaje que quieras para abrir un socket/puerto que admita protocolo http y al que se pueda llamar con una url de estilo http://unaurl/Sumador siendo Sumador el nombre de tu webservice. El que use ese webservice tiene que pasarte en XML a qué método de Sumador quiere llamar (suma() en este caso) y pasarate también en xml los parámetros a sumar. Normalmente va todo en la misma llamada, ya que suma() debería ser suma(a,b) y devuelve el resultado. Tu tienes que recoger ese xml, deducir a qué metodo llaman, recoger los parametros, sumar ydevolver la suma en formato xml como respuesta de la petición http que te haya hecho el cliente.

Afortunadamente todo esto no es tan complejo a la hora de programar. Hay muchas herramietnas como jax-ws o axis 2 (java) que te hacen toda la parte del servidor http, recoger la url, el xml, traducirlo y llamar directamente a una clase que tu le indiques que tenga un metodo suma() normalito, que es lo único que realmente tienes que implementar.

Código java:
Ver original
  1. public double suma(double a, double b){
  2.    return a+b
  3. }

Esas herramientas incluso te generan los wsdl correspondientes.

El que use el webservice, en el lenguaje que quiera, tiene que conectarse al puerto/url de tu webservice http://unaurl/Sumador, enviar el xml con el nombre de método y parámetros, recoger el xml de respuesta y hacer lo que necesite con él.

Afortunadamente también, hay muchas herramientas que hacen todo esto de forma que un cliente sólo tiene que implementar algo parecido a esto

Código java:
Ver original
  1. Sumador sumador = Sumador.getService ("http://unaurl/Sumador");
  2. double a = sumador.suma(3,5);

ya que la herramienta le genera (a partir del wsdl del webservice) la clase Sumador con todo lo necesario dentro para tratar con el socket y los xml.

En cuanto a las APIS que mencionas, para facilitar la tarea al que va a usar el webservice, tu puedes darle una librería que contenga esa clase Sumador que le generaría la herramienta. De esta forma le ahorras el trabajo de buscar/bajarse una herramienta, aprender a usarla y generarse el Sumador por sí mismo.

Se bueno.
__________________
Apuntes Java
Wiki de Programación