> Tech > Envoyer et recevoir des messages

Envoyer et recevoir des messages

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Il ne reste plus, maintenant qu'à tester le fonctionnement de l'architecture Service Broker ainsi mise en place. Ainsi, depuis la base bd1 le dialogue est initié.

use bd1;
go
begin tran
DECLARE @identifiantConversation UNIQUEIDENTIFIER
-- Initier le dialogue

Envoyer et recevoir des messages

/>
BEGIN DIALOG CONVERSATION @identifiantConversation
FROM SERVICE service1 TO SERVICE ‘service2’
ON CONTRACT [ContratExemple]; declare @messagePersonnalise xml;
set @messagePersonnalise=
N'<client><nom>DUPONT</nom><prenom>Jean</prenom></client>’;
SEND ON CONVERSATION @identifiantConversation
MESSAGE TYPE MResultat (@messagePersonnalise);
commit tran;
go

Depuis la base de données cible, il est possible de lire est de traiter le message reçu de la façon suivante :

use bd2
go
begin tran
DECLARE @identifiantConversation UNIQUEIDENTIFIER
declare @messageRecu TABLE(
NomService NVARCHAR(512),NomContrat NVARCHAR(256), TypeMessage NVARCHAR(256),msg NVARCHAR(MAX));
WAITFOR(
RECEIVE TOP (1) service_name, service_contract_name,message_type_name, message_ body, conversation_handle
FROM file2
INTO @messageRecu,@identifiantConversation ),
TIMEOUT 10;
select * from @messageRecu;
— Lire le message
declare @message nvarchar(4000);
select @message=substring(msg, 1, 4000) from @messageRecu
— lire le message et récupérer les informations
if (@message is not null)
begin
declare @identifiantDocumentXML int;
declare @nom nvarchar(80);
declare @prenom nvarchar(80);
exec sp_xml_preparedocument @identifiantDocumentXML output, @message;
select @nom=text from openxml(@identifiantDocumentXML,’/client/nom’) where nodetype=3;
select @prenom=text from openxml(@identifiantDocumentXML,’/client/prenom’) where nodetype=3;
— Ajouter le nouveau client
INSERT INTO exemple.clients(nom, prenom) VALUES (@nom, @prenom); end;
— Mettre fin a la conversation
END CONVERSATION @identifiantConversation;
commit tran;


Téléchargez cette ressource

Guide de Reporting Microsoft 365 & Microsoft Exchange

Guide de Reporting Microsoft 365 & Microsoft Exchange

Comment bénéficier d’une vision unifiée de vos messageries, mieux protéger vos données sensibles, vous conformer plus aisément aux contraintes réglementaires et réduire votre empreinte carbone ? Découvrez la solution de reporting complet de l’utilisation de Microsoft Exchange, en mode on-premise ou dans le Cloud.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010