> 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

Rapport Forrester sur les solutions de sécurité des charges de travail cloud (CWS)

Rapport Forrester sur les solutions de sécurité des charges de travail cloud (CWS)

Dans cette évaluation, basée sur 21 critères, Forrester Consulting étudie, analyse et note les fournisseurs de solutions de sécurité des charges de travail cloud (CWS). Ce rapport détaille le positionnement de chacun de ces fournisseurs pour aider les professionnels de la sécurité et de la gestion des risques (S&R) à adopter les solutions adaptées à leurs besoins.

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