Tipos de mensajes

Las aplicaciones que utilizan Service Broker se comunican mediante el envío de mensajes entre ellas como 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 que el mensaje contenga XML válido, que contenga XML conforme a un esquema determinado o que no contenga ningún dato. 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.

ms166066.note(es-es,SQL.90).gifImportante:
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 cuerpo del mensaje debe contener XML correcto válido para uno de los esquemas de la colección. En un tipo de mensaje que no especifique ninguna validación, SQL Server acepta cualquier contenido de mensaje, incluidos datos binarios, XML o mensajes vacíos.

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

Vea también

Conceptos

Contratos
Mensajes de Service Broker

Otros recursos

CREATE MESSAGE TYPE (Transact-SQL)

Ayuda e información

Obtener ayuda sobre SQL Server 2005