Proceso de uso de un Servicio Web XML

El proceso que tiene lugar cuando se realiza una llamada a un servicio Web XML es similar al proceso que ocurre cuando se hace una llamada regular a un método. La principal diferencia es que en vez de llamar a un método que está en la aplicación cliente, se genera un mensaje de petición a través del transporte específico, como HTTP.

Ya que el método del servicio Web XML puede estar localizado en otro computador, la información que el servicio Web XML necesita para procesar la petición debe ser pasada a través de la red al servidor que tiene el servicio Web XML.

El servicio Web XML procesa la información y envía el resultado de vuelta, a través de la red, a la aplicación cliente.

Proceso de uso de un Servicio WEB XML

A continuación se describe la secuencia de eventos que tienen lugar cuando se llama a un servicio Web XML:

1. El cliente crea una nueva instancia de una “proxy class” del servicio Web XML. Este objeto reside en el mismo computador que el cliente.

2. El cliente invoca un método de la “proxy class”.

3. La infraestructura en el computador del cliente serializa los argumentos del método del servicio Web XML en un mensaje SOAP y lo envía a través de la red al servicio Web XML.

4. La infraestructura recibe el mensaje SOAP y deserializa el XML. Crea una instancia de la clase que implementa el servicio Web XML e invoca el método del servicio Web XML, pasándole el XML deserializado como argumentos.

5. El método del servicio Web XML ejecuta su código, fijando los valores que debe retornar y cualquier parámetro de salida.

6. La infraestructura en el servidor Web serializa los valores de retorno y los parámetros de salida en un mensaje SOAP y lo envía a través de la red de vuelta al cliente.

7. La infraestructura del servicio Web XML en el computador del cliente recive el mensaje SOAP, deserializa el XML en los valores de retorno y cualquier parámetro de salida, y los pasa a la instancia de la “proxy class”.

8. El cliente recibe los valores de retorno y cualquier parámetro de salida.

Fuente: Apuntes de informática III, Escuela Superior de Ingenieros de la Universidad de Navarra.