Tipos de mensajes

Las aplicaciones que utilizan Service Broker se comunican enviándose mensajes que forman parte de una conversación. Los participantes de una conversación deben estar de acuerdo en el nombre y el contenido de cada mensaje. Un objeto de tipo de mensaje define un nombre para un tipo de mensaje y el tipo de datos que contiene el mensaje. Los tipos de mensajes permanecen en la base de datos donde se crean. Debe crear un tipo de mensaje idéntico en cada base de datos que participa en una conversación.

Cada tipo de mensaje especifica la validación que SQL Server realiza en los mensajes de ese tipo. SQL Server puede validar si el mensaje contiene XML válido, si contiene XML conforme a un esquema determinado, o si no contiene datos de ningún tipo. En datos arbitrarios o binarios, el tipo de mensaje puede especificar que SQL Server no valide el contenido del mensaje.

La validación se lleva a cabo cuando el servicio de destino recibe el mensaje. Si el contenido del mensaje no coincide con la validación especificada, Service Broker devuelve un mensaje de error al servicio que envía el mensaje.

Nota importanteImportante

Independientemente de la validación especificada, una aplicación debe comprobar que el contenido de un mensaje sea adecuado para la aplicación antes de que el programa utilice los datos.

En un tipo de mensaje vacío, el cuerpo del mensaje no debe contener datos. En un tipo de mensaje que especifica XML correcto, el cuerpo del mensaje debe ser XML correcto. En un tipo de mensaje que especifica XML conforme a una colección de esquemas determinada, el mensaje debe contener XML correcto y válido para uno de los esquemas de la colección. Para un tipo de mensaje que no especifique ninguna validación, SQL Server acepta cualquier contenido en el mensaje. Esto incluye datos binarios, XML o mensajes vacíos.

Service Broker ofrece un tipo de mensaje integrado denominado DEFAULT. Si no se especifica el tipo de mensaje en un comando SEND de Service Broker, el sistema utilizará el tipo de mensaje DEFAULT.

Service Broker incluye tipos de mensaje del sistema que se usan para notificar errores y el estado de los diálogos. Para obtener más información, vea mensajes del sistema de Broker.