Este escenario representa un servicio Web que proporciona una interfaz a una aplicación habilitada para WebSphere MQ utilizando MIME como dominio. A continuación, se proporcionan un flujo de mensajes para este escenario y los árboles de mensaje resultantes:
Cuando un mensaje MIME entra en el flujo de mensajes, se almacena el tipo de contenido de nivel superior del mensaje en el árbol HTTPInputHeader y en el árbol lógico de mensaje MIME. 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 el árbol de mensaje después de que el mensaje haya salido del nodo HTTPInput:
SET OutputRoot.XML.X.rid = CAST(InputLocalEnvironment.Destination.HTTP.RequestIdentifier AS CHARACTER);El diagrama siguiente muestra el árbol de mensaje después de que salido de Compute1:
Si la aplicación que recibe el mensaje MQ espera que el mensaje esté en formato MIME, se necesita un árbol MIME. Compute1 puede proporcionarlo creando un árbol MIME nuevo o modificando y propagando el árbol MIME existente. Para modificar el tipo de contenido del mensaje, se deberá utilizar la propiedad ContentType del intermediario. Cuando se modifica la propiedad ContentType de intermediario, la propiedad Content-Type del árbol MIME se actualiza automáticamente.
SET OutputLocalEnvironment.Destination.HTTP.RequestIdentifier = CAST(InputRoot.XML.X.rid AS BLOB);Compute2 también puede configurar un HTTPReplyHeader explícito.
Si el dominio de salida es MIME, se debe crear un árbol MIME para producir el mensaje. Compute2 crea un mensaje MIME nuevo o modifica y propaga el mensaje MIME de entrada como sea necesario para crear el mensaje de salida. El diagrama siguiente muestra el árbol de mensaje después de que haya pasado por Compute2:
Son posibles muchas variaciones de este escenario. Por ejemplo, se puede crear un flujo individual utilizando un nodo MQGet en lugar del nodo MQInput y entonces no sería necesario guardar el correlacionador HTTP. Sin embargo, potencialmente esto es menos escalable. El ejemplo de Ejemplo de respuesta de petición coordinada proporciona información adicional sobre cómo utilizar el nodo MQGet.