It looks like you can execute an HTTP request from SSIS, see How to make an HTTP request from SSIS?
With this in mind, you can send a message to NServiceBus through the gateway (the gateway is just an HttpListener ) for your publisher to let him publish a message informing all subscribers about the ETL package shutdown.
To send a message to the gateway, you need to do something like:
var webRequest = (HttpWebRequest)WebRequest.Create("http://localhost:25898/Headquarters/"); webRequest.Method = "POST"; webRequest.ContentType = "text/xml; charset=utf-8"; webRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"; webRequest.Headers.Add("Content-Encoding", "utf-8"); webRequest.Headers.Add("NServiceBus.CallType", "Submit"); webRequest.Headers.Add("NServiceBus.AutoAck", "true"); webRequest.Headers.Add("NServiceBus.Id", Guid.NewGuid().ToString("N")); const string message = "<?xml version=\"1.0\" ?><Messages xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns=\"http://tempuri.net/NServiceBus.AcceptanceTests.Gateway\"><MyRequest></MyRequest></Messages>"; using (var messagePayload = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(message))) { webRequest.Headers.Add(HttpRequestHeader.ContentMd5, HttpUtility.UrlEncode(Hasher.Hash(messagePayload)));
Hope this helps!
source share