Tipos de mensagem
Os aplicativos que usam o Service Broker se comunicam enviando mensagens entre si como parte de uma conversação. Os participantes de uma conversação devem concordar com o nome e o conteúdo de cada mensagem. Um objeto de tipo de mensagem define um nome para o tipo de mensagem e o tipo de dados que a mensagem contém. Os tipos de mensagem persistem nos bancos de dados em que são criados. Você cria um tipo de mensagem idêntico em cada banco de dados que participa de uma conversação.
Cada tipo de mensagem especifica a validação que o SQL Server executa para mensagens desse tipo. O SQL Server pode verificar se a mensagem contém XML válido, se contém XML em conformidade com um determinado esquema ou se simplesmente não contém dados. Para dados arbitrários ou binários, o tipo de mensagem pode especificar que o SQL Server não valida o conteúdo da mensagem.
A validação é executada quando o serviço de destino recebe a mensagem. Se o conteúdo da mensagem não corresponder à validação especificada, o Service Broker retornará uma mensagem de erro ao serviço que enviou a mensagem.
Importante |
---|
Independentemente da validação especificada, um aplicativo deve verificar se o conteúdo de uma mensagem é apropriado para o aplicativo antes que o programa use os dados. |
Para um tipo de mensagem vazio, o corpo da mensagem não deve conter dados. Para um tipo de mensagem que especifica XML bem formado, o corpo da mensagem deve ser XML bem formado. Para um tipo de mensagem que especifica XML em conformidade com uma determinada coleção de esquemas, a mensagem deve conter XML bem formado válido para um dos esquemas na coleção. Para um tipo de mensagem que não especifica nenhuma validação, o SQL Server aceita qualquer conteúdo de mensagem. Isso inclui dados binários, XML ou mensagens vazias.
O Service Broker oferece um tipo de mensagem interno denominado DEFAULT. Se o tipo de mensagem não for especificado em um comando Service Broker SEND, o sistema usará o tipo de mensagem DEFAULT.
O Service Broker inclui tipos de mensagem do sistema usados para reportar erros e o status de diálogos. Para obter mais informações, consulte Mensagens do sistema do Service Broker.