Tipi di messaggi

Le applicazioni che utilizzano Service Broker comunicano mediante lo scambio di messaggi nell'ambito di una conversazione. I partecipanti a una conversazione devono concordare il nome e il contenuto di ogni messaggio. Un oggetto tipo messaggio definisce il nome per un tipo di messaggio e il tipo di dati contenuto nei messaggi di questo tipo. I tipi di messaggi vengono mantenuti nel database in cui vengono creati. In ogni database che partecipa a una conversazione è necessario creare un tipo di messaggio identico.

Ogni tipo di messaggio specifica la convalida eseguita da SQL Server per i messaggi di quel tipo. SQL Server può convalidare la presenza di codice XML valido o di un formato XML conforme a uno schema particolare oppure la mancanza di dati. Per i dati arbitrari o binari il tipo di messaggio può specificare che la convalida del contenuto del messaggio non viene eseguita da SQL Server.

La convalida viene eseguita quando il servizio di destinazione riceve il messaggio. Se il contenuto del messaggio non corrisponde alla convalida specificata, Service Broker restituisce un messaggio di errore al servizio che ha inviato il messaggio.

ms166066.note(it-it,SQL.90).gifImportante:
Indipendentemente dal tipo di convalida specificato, un'applicazione deve verificare che il contenuto di un messaggio sia appropriato per l'applicazione prima dell'utilizzo dei dati da parte del programma.

Per un tipo di messaggio vuoto, nel corpo del messaggio non devono essere presenti dati. Per un tipo di messaggio che specifica codice XML corretto, nel corpo del messaggio deve essere presente un formato XML corretto. Per un tipo di messaggio che specifica un formato XML conforme a un insieme di schemi particolare, nel corpo del messaggio deve essere presente un formato XML corretto e valido per uno degli schemi contenuti nell'insieme. Per un tipo di messaggio che specifica l'assenza di convalida, SQL Server accetta messagi con qualsiasi contenuto, ad esempio dati binari, XML o messaggi vuoti.

Service Broker include il tipo di messaggio predefinito DEFAULT. Se il tipo di messaggio non viene specificato in un comando SEND di Service Broker, viene utilizzato il tipo DEFAULT.

Vedere anche

Concetti

Contratti
Messaggi di Service Broker

Altre risorse

CREATE MESSAGE TYPE (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005