WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Mensajes unidireccionales en modalidad de pasarela

Cuando se configura un nodo SOAP utilizando WSDL, WSDL especifica si una operación de nodo determinada es o no unidireccional. No obstante, configurar un nodo en modalidad de pasarela sin WSDL significa que esta información WSDL no está disponible. Por consiguiente, los nodos SOAP configurados como pasarelas intentan detectar automáticamente operaciones unidireccionales en función del contenido del mensaje.

Detección del nodo SOAPInput de operaciones unidireccionales

El nodo SOAPInput detecta mensajes unidireccionales de diferentes formas en función del transporte empleado y de si WS-Addressing está o no configurado en el nodo.

En modalidad de pasarela, el campo SOAP.Context.operationType se establece en GATEWAY si se determina que la operación es de tipo solicitud-respuesta o GATEWAY_ONE_WAY si se determina que la operación es unidireccional. Si se determina que la operación es unidireccional, no es necesaria ni se permite ninguna respuesta. No obstante, si no se determina que la operación es unidireccional, el flujo se configura con la presuposición de que el flujo enviará una respuesta. Por lo tanto, si la operación es unidireccional, debe especificar que la operación es unidireccional con el fin de permitir que el flujo libere recursos, y si se utiliza HTTP para enviar un reconocimiento HTTP 202 de nuevo al cliente de origen. Para ello establezca el siguiente campo en el entorno local antes de grabar un mensaje en un nodo SOAPReply:
SET OutputLocalEnvironment.Destination.SOAP.Reply.Gateway.OneWay = 'true';

Este valor indica al nodo SOAPReply que complete el Patrón de intercambio de mensajes antes de enviar un reconocimiento HTTP 202, si es necesario, y liberar recursos.

Una solución para utilizar este valor sería en una pasarela como ésta:

Flujo de fachada

En este flujo, el nodo Compute determina si el mensaje es unidireccional. Si el mensaje es undireccional, el nodo Compute establece el valor unidireccional del entorno local y envía un mensaje al nodo SOAPReply para completar el Patrón de intercambio de mensajes. Si el flujo es un flujo de pasarela y se establece la opción de entorno local unidireccional, cualquier mensaje recibido por el nodo SOAPReply hace que se ignore el contenido del mensaje y se complete el Patrón de intercambio de mensajes. A continuación, el flujo puede continuar a través de otro terminal del nodo Compute.

No es erróneo enviar un mensaje al nodo SOAPReply con la opción de entorno local unidireccional establecida si se ha determinado automáticamente que el mensaje es un mensaje unidireccional.

Detección del nodo SOAPRequest de operaciones unidireccionales

En modalidad de pasarela, el nodo detecta automáticamente SOAPRequest si el mensaje es únicamente unidireccional, si se utiliza WSA y las direcciones WSA:ReplyTo y WSA:FaultTo se establecen en la dirección WSA:None especial. Para indicar al nodo manualmente que el mensaje es unidireccional, establezca la siguiente opción en el entorno local:
SET OutputLocalEnvironment.Destination.SOAP.Request.Gateway.OneWay = 'true';

Para el nodo SOAPRequest, especificar que un mensaje es unidireccional indica al nodo que no se prevé una respuesta, salvo para un reconocimiento HTTP 202 si se utiliza el transporte HTTP. Si se utiliza el transporte JMS, también permite que el mensaje se envíe bajo el control de cualquier transacción existente, si la Modalidad de transacción tiene el valor o Automático.

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 17:00:46


Tema de conceptoTema de concepto | Versión 8.0.0.5 | bc19060_