A amostra TCPIP Handshake demonstra como é possível implementar o handshake em três vias esperado pelo cliente. A amostra demonstra como você pode utilizar este handshake para permitir que um cliente cancele o pedido após ele ter sido enviado, mas antes que o servidor comece a processá-lo.
O handshake em três vias para enviar a mensagem de resposta também pode ser usado para fornecer um nível de qualidade de serviço transacional. Esta amostra pode ser estendida para permitir que o cliente recupere o serviço enviando reconhecimentos negativos ou falhando ao enviar um reconhecimento à mensagem de resposta.
A interface de serviço atual que é chamada por esta amostra é não-transacional. Portanto, deve ser configurada uma nova interface de serviço que permita recuperação. Utilize uma das seguintes opções para configurar um serviço que permita recuperação:
Por exemplo, se o serviço for implementado como uma BAPI SAP, utilize um nó SAPRequest para chamar tal BAPI. Utilizar um nó SAPRequest garante que a BAPI seja incluída na transação para o fluxo de mensagens. Portanto, se o cliente envia um reconhecimento negativo, o lançamento de uma exceção faz com que a transação seja recuperada.
Por exemplo, para estender a amostra TCPIP Handshake quando estiver usando o WebSphere MQ para chamar o serviço, ou seja, o subfluxo invokeMQService está sendo usado, é possível incluir uma terceira fila que pode ser usada para sinalizar para o aplicativo do servidor do WebSphere MQ que uma execução específica desse serviço deve ser retrocedida. Você pode incluir um nó de Saída (Recuperação) no subfluxo sendReply. O terminal de Tempo Limite do nó TCPIPServerReceive e o terminal Alternativo do nó CheckAckAndMakeConf devem estar ambos conectados ao nó de Recuperação. O subfluxo invokeMQService conecta o nó de Recuperação a um nó MQOutput, utilizando um nó de transformação para converter a mensagem em XML.
Subfluxo sendReply
Subfluxo invokeMQService
Fluxo TCPIPMQVeneer