Anatomía del período de duración de un servicio Web XML
El proceso que se produce cuando se realiza una llamada a un servicio Web XML es similar al que tiene lugar cuando se llama a un método regular. La diferencia principal es que, en vez de llamar a un método que se encuentra en la aplicación cliente, se genera un mensaje de solicitud sobre el transporte especificado, como HTTP. Dado que el método del servicio Web XML se puede encontrar en un equipo diferente, la información que tiene que procesar el servicio Web XML debe pasar por la red al servidor que aloja el servicio Web XML. El servicio Web XML procesa la información y devuelve el resultado, a través de la red, a la aplicación cliente.
En la ilustración siguiente se muestra el proceso de comunicación entre un cliente y un servicio Web XML.
Período de duración de los servicios Web XML
A continuación se describe la secuencia de eventos que se producen cuando se llama a un servicio Web XML:
- El cliente crea una nueva instancia de una clase de proxy de servicio Web XML. Este objeto reside en el mismo equipo que el cliente.
- El cliente invoca un método en la clase de proxy.
- La infraestructura del equipo 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.
- 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 de servicio Web XML; el XML deserializado se pasa como argumentos.
- El método de servicio Web XML ejecuta el código y establece finalmente el valor devuelto y los parámetros out.
- La infraestructura del servidor Web serializa en un mensaje SOAP el valor devuelto y los parámetros de salida, y lo devuelve al cliente a través de la red.
- La infraestructura de servicios Web XML, en el equipo cliente, recibe el mensaje SOAP, deserializa el XML en el valor devuelto y los parámetros out, y los pasa a la instancia de la clase de proxy.
- El cliente recibe el valor devuelto y los parámetros out.