Types de messages
Les applications qui utilisent Service Broker communiquent entre elles via des messages envoyés dans le cadre d'une conversation. Les participants d'une conversation doivent s'accorder sur le nom et le contenu de chaque message. Un objet de type message définit un nom pour un type de message, ainsi que le type de données contenu dans le message. Les types de messages demeurent en permanence dans la base de données où le type de message est créé. Vous devez donc créer un type de message identique dans chaque base de données participant à une conversation.
Chaque type de message spécifie la validation que SQL Server réalise pour les messages du type concerné. SQL Server peut valider le contenu d'un message comme étant du XML valide, du XML se conformant à un schéma particulier ou encore un contenu ne comportant aucune donnée. Pour les données arbitraires ou binaires, le type de message peut spécifier qu'aucune validation du contenu du message ne soit effectuée par SQL Server.
L'opération de validation est réalisée lorsque le service de destination reçoit le message. Si le contenu du message ne correspond pas à la validation spécifiée, Service Broker retourne un message d'erreur au service qui a envoyé le message.
Important
Indépendamment de la validation indiquée, une application doit vérifier la pertinence du contenu du message par rapport à elle-même avant que le programme n'utilise les données.
Pour un type de message vide, le corps du message ne doit contenir aucune donnée. Pour un type de message spécifiant du XML bien formé, le corps du message doit être en XML bien formé. Pour un type de message spécifiant du XML conforme à une collection de schémas particulière, le message doit contenir du XML bien formé et valide pour l'un des schémas de la collection. Pour un type de message qui ne spécifie aucune validation, SQL Server accepte tout contenu de message. Cela inclut des données binaires, du XML ou des messages vides.
Service Broker fournit un type de message intégré nommé DEFAULT. Si le type de message n'est pas spécifié dans une commande SEND de Service Broker, le système utilise le type de message DEFAULT.
Service Broker comprend des types de messages système utilisés pour signaler des erreurs et l'état des dialogues. Pour plus d'informations, consultez Messages système Service Broker.