CREATE PROCEDURE [dbo].[USP_SendBrokerMessage]
@SourceService NVARCHAR(200),
@TargetService NVARCHAR(200),
@MessageContract NVARCHAR(200),
@MessageType NVARCHAR(200),
@MessageContent NVARCHAR(4000)
AS
BEGIN
-- Sending a Service Broker Message
DECLARE @InitDlgHandle UNIQUEIDENTIFIER;
DECLARE @RequestMsg NVARCHAR(4000);
SET NOCOUNT ON
BEGIN TRANSACTION;
BEGIN DIALOG @InitDlgHandle
FROM SERVICE @SourceService
TO SERVICE @TargetService
ON CONTRACT @MessageContract
WITH ENCRYPTION = OFF;
SELECT @RequestMsg = @MessageContent;
SEND ON CONVERSATION @InitDlgHandle
MESSAGE TYPE @MessageType
(@RequestMsg);
--Uncomment next line to debug >
--SELECT @RequestMsg AS SentRequestMsg;
COMMIT TRANSACTION;
END
GO
Usage :
exec USP_SendBrokerMessage @SourceService = 'AdventureWorksSourceQueueSourceService', @TargetService = N'AdventureWorksTargetQueueTargetService', @MessageContract = 'http://www.servicebroker.com/Contract', @MessageType = 'http://www.servicebroker.com/SendType', @MessageContent = N'Initial Service Broker Message from AdventureWorks '
No comments:
Post a Comment