Mensagem Broker Response

Um mensagem Broker Response é enviada de um intermediário à ReplyToQ de um publicador ou assinante para indicar o êxito ou falha de uma mensagem de comando recebida pelo intermediário se o descritor da mensagem de comando especificou que uma resposta é requerida.

A mensagem de resposta está contida no campo NameValueData do cabeçalho MQRFH2, em uma pasta <pscr>.

No caso de um aviso ou erro, a mensagem de resposta contém a pasta <psc> da mensagem de comando bem como a pasta <pscr>. Os dados da mensagem, se existirem, não estão contidos na mensagem broker response. No caso de um erro, nada da mensagem que causou o erro foi processado; no caso de um aviso, parte da mensagem pode ter sido processada com êxito.

Se houver uma falha ao enviar uma resposta:
  • Para mensagens de publicação, o intermediário tentará enviar a resposta à fila dead-letter do WebSphere MQ se o MQPUT falhar. Isso permite que a publicação seja enviada aos assinantes mesmo que a resposta não possa ser enviada de volta ao publicador.
  • Para outras mensagens, ou se a resposta da publicação não conseguir ser enviada à fila dead-letter, um erro será registrado e a mensagem de comando será retrocedida normalmente. Se isso acontece depende de como o nó MQInput tiver sido configurado.

Properties

<Conclusão> (MQPSCR_COMPLETION)
O código de conclusão, que pode ter um dos três valores:
ok
Comando concluído com êxito
warning
Comando concluído mas com aviso
error
Comando falhou
<Resposta> (MQPSCR_RESPONSE)
A resposta a uma mensagem de comando, se esse comando produziu um código de conclusão de warning ou error. Contém uma propriedade <Razão e pode conter outras propriedades que indicam a causa do aviso ou erro.

No caso de um ou mais erros, somente há uma pasta response, indicando somente a causa do primeiro erro. No caso de um ou mais avisos, há uma pasta response para cada aviso.

<Razão> (MQPSCR_REASON)
O código de razão qualificando o código de conclusão, se este for um warning ou error. É definido para um dos códigos de erro listados a seguir. A propriedade <Razão> está contida em uma pasta <Resposta>. O código de razão pode ser seguido por qualquer propriedade válida da pasta <psc> (por exemplo, um nome de tópico), indicando a causa do erro ou aviso.

Exemplos

Eis alguns exemplos de NameValueData em uma mensagem Broker Response. Uma resposta com êxito poderia ser assim:
 <pscr>
      <Completion>ok</Completion>
  </pscr>
Eis um exemplo de uma resposta com falha; a falha é um erro de filtro. A primeira cadeia NameValueData contém a resposta; a segunda contém o comando original.
 <pscr>
      <Completion>error</Completion>
      <Response>
          <Reason>3150</Reason>
      </Reponse>
  </pscr>  <psc>
  ...
    mensagem de comando (à qual
    o intermediário está respondendo)
  ...
 </psc>
Eis um exemplo de uma resposta de aviso (devido a tópicos não autorizados). A primeira cadeia NameValueData contém a resposta; a segunda cadeia NameValueData contém o comando original.
 <pscr>
      <Completion>warning</Completion>
      <Response>
          <Reason>3081</Reason>
          <Topic>topic1</Topic>
      </Reponse>
      <Response>
          <Reason>3081</Reason>
          <Topic>topic2</Topic>
      </Reponse>
  </pscr>  <psc>
  ...
    mensagem de comando (à qual
    o intermediário está respondendo)
  ...
 </psc>
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
aq07010_