Aplicación habilitada para WebSphere MQ que llama a un servicio Web

Este escenario representa una aplicación que utiliza WebSphere MQ para realizar una llamada a un servicio Web mientras procesa un mensaje. Para este ejemplo se utiliza el dominio MIME. A continuación, se proporcionan un flujo de mensajes para este escenario y los árboles de mensaje resultantes:

Este diagrama muestra un cliente externo habilitado para MQ que envía y recibe mensajes de un flujo de mensajes. El flujo de mensajes consta de un nodo MQInput conectado a un nodo Compute denominado Compute1. A continuación, el nodo Compute se conecta a un nodo HTTPRequest. El nodo HTTPRequest realiza una petición a un servicio Web externo y recibe la respuesta. A continuación, se envía el mensaje a un segundo nodo Compute denominado Compute2. Entonces este nodo se conecta a un nodo MQOutput que devuelve un mensaje de respuesta al cliente MQ.

Cuando un mensaje MIME entra en el flujo de mensajes, se almacenan en el árbol MIME las cabeceras de tipo de contenido (Content-Type) y cualquier otra cabecera MIME de nivel superior. El intermediario también almacena una copia del tipo de contenido del mensaje como el valor ContentType en el subárbol de propiedades (Properties). El diagrama siguiente muestra parte del árbol de mensaje después de haber salido del nodo MQInput:

El diagrama muestra el árbol lógico de mensaje después de que el mensaje haya salido del nodo MQInput. La raíz del árbol se denomina Root y tiene tres hijos. Éstos son, en orden, Properties, MQMD y MIME.

El primer nodo Compute, Compute1, se utiliza para configurar HTTPRequestHeader si es necesario. También se puede utilizar Compute 1 para crear un nuevo árbol MIME o para modificar el árbol MIME existente si la aplicación intermedia que proporciona el servicio Web necesita un mensaje MIME.

Cuando el nodo HTTPRequest crea un mensaje de solicitud, elimina la cabecera MQMD del árbol de mensaje. Si necesita guardar la información del MQMD, por ejemplo el IDMsj, para utilizarla en el mensaje de respuesta para el cliente MQ, puede hacerlo de uno de los modos siguientes:
  • Compute1 puede guardar los campos necesarios en el árbol Environment para que el segundo nodo Compute, Compute2, pueda volver a crear el MQMD.
  • Compute1 guarda los campos necesarios en el árbol OutputLocalEnvironment para que Compute2 pueda volver a crear el MQMD. Para ello, se debe configurar Compute1 para que propague Message y LocalEnvironment.
  • Configure el nodo HTTPRequest para que no sustituya el mensaje de entrada por la respuesta HTTP. Especifique que, en lugar de ello, la respuesta se adjunte como OutputRoot.MIME. Entonces el árbol de entrada original y MQMD aún están disponibles, pero Compute2 necesita modificar el árbol antes de pasar el mensaje al nodo MQOutput. Por ejemplo, es posible que Compute2 necesite eliminar partes del árbol, por ejemplo HTTPRequestHeader y HTTPResponseHeader. Para ello, copie sólo las partes del árbol que desea conservar. El ESQL siguiente muestra un ejemplo de cómo realizar esta operación:
    SET OutputRoot.MQMD = InputRoot.MQMD; 
    SET OutputRoot.MIME = InputRoot.MIME;

Las propiedades de nodo HTTPRequest controlan el contenido del árbol de salida.

Los diagramas siguientes muestran el árbol de mensaje antes y después de realizar la llamada de servicio Web en el nodo HTTPRequest:

El diagrama muestra el árbol lógico de mensaje mientras se está enviando la petición de servicio Web desde el nodo HTTPRequest. La raíz del árbol se denomina Root y tiene tres hijos. Éstos son, en orden, Properties, HTTPRequestHeader y MIME.

El diagrama muestra el árbol lógico de mensaje cuando se devuelve el mensaje de la solicitud de servicio Web al nodo HTTPRequest. La raíz del árbol se denomina Root y tiene cuatro hijos. Éstos son, en orden, Properties, HTTPRequestHeader, HTTPResponseHeader y MIME.

Compute2 se utiliza para crear o restaurar un MQMD si se necesita alguno así como para limpiar el árbol a fin de eliminar cabeceras inapropiadas, por ejemplo HTTPResponseHeader.

Conceptos relacionados
Manipulación de mensajes del dominio MIME
Detalles del árbol MIME
Mensajes MIME
Tareas relacionadas
Desarrollo de ESQL
Desarrollo de Java
Referencia relacionada
Creación de un servicio Web con HTTP como transporte
Creación de un servicio Web con WebSphere MQ como transporte
Acceso a una aplicación habilitada para WebSphere MQ como un servicio Web
Nodo HTTPReply
Nodo HTTPRequest
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ac30050_