El ejemplo de Reconocimiento TCPIP muestra cómo puede implementar el reconocimiento de tres vías que espera el cliente. El ejemplo muestra cómo se utiliza este reconocimiento para que el cliente pueda cancelar la petición después de que ésta se haya enviado pero antes de que el servidor comience a procesarla.
El reconocimiento de tres vías para enviar el mensaje de respuesta también se puede utilizar para proporcionar un nivel de calidad de servicio transaccional. Este ejemplo se puede ampliar para que el cliente retrotraiga el servidor ya sea enviando reconocimientos negativos o no enviando un reconocimiento en el mensaje de respuesta.
La interfaz del servicio actual a la que llama este ejemplo es no transaccional. Por lo tanto, se debe configurar una interfaz de servicio nueva que permita la retrotracción. Utilice cualquiera de las opciones siguientes para configurar un servicio que permita la retrotracción:
Por ejemplo, si el servicio se implementa como una BAPI de SAP, utilice un nodo SAPRequest para llamar an dicha BAPI. Utilizar un nodo SAPRequest garantiza que la BAPI se incluya en la transacción del flujo de mensajes. Por lo tanto, si el cliente envía un reconocimiento negativo, se genera una excepción que hace que la transacción se retrotraiga.
Por ejemplo, para ampliar el ejemplo Reconocimiento TCPIP cuando esté utilizando WebSphere MQ para invocar al servicio, es decir, está utilizando el subflujo invokeMQService, puede añadir una tercera cola que se podrá utilizar para iniciar a la aplicación del servidor de WebSphere MQ que se debe retrotraer una ejecución concreta de dicho servicio. Puede añadir un nodo Output (Retrotracción) al subflujo sendReply. El terminal Timeout del nodo TCPIPServerReceive y el terminal alternativo del nodo CheckAckAndMakeConf deben estar conectados los dos al nodo Rollback. El subflujo invokeMQService se conecta el nodo Rollback a un nodo MQOutput, utilizando un nodo de transformación para convertir el mensaje en XML.
Subflujo sendReply
Subflujo invokeMQService
Flujo TCPIPMQVeneer