Использование webapi из SSIS scripttask с помощью webclient работает не так, как ожидалось.
Всем Привет,
Я потребляю WebAPI из пакетов SSIS, поэтому я написал следующий код в ScriptTask, и мое намерение состоит в том, чтобы дождаться ответа (т. е. он просто вызовет конечную точку и продолжит процесс)
var webClient = new System.Net.WebClient(); webClient.Headers.Add("abc", "xyz"); webClient.Headers.Add("abc1", "xyz1"); File.AppendAllLines("FilePath\\Log.txt", new string[] { string.Format("{0} EP Calling Started: {1}", DateTime.Now, BatchID) }); System.Collections.Specialized.NameValueCollection formData = new System.Collections.Specialized.NameValueCollection(); formData["test"] = "test"; webClient.UploadValuesAsync(new Uri(webAddr), "Post", formData); File.AppendAllLines("FilePath\\Log.txt",, new string[] { string.Format("{0} EP Calling ended: {1}", DateTime.Now, BatchID) });
Иногда WebClient не попадает в конечную точку. чтобы подтвердить, что я поместил ведение журнала текстового файла в задачу скрипта и конечную точку. вызов конечной точки происходит из пакетов, но он не попадает в конечную точку в журналах, которые я нашел
when WebClient is not hitting the endpoint. following info is logged into the file From Script Task: 6/1/2017 1:10:03 PM EP Calling Started: 33962 6/1/2017 1:10:03 PM EP Calling ended: 33962
если это успех журнал будет выглядеть так
From Script Task: 6/1/2017 1:10:03 PM EP Calling Started: 33962 6/1/2017 1:10:03 PM EP Calling ended: 33962 From endPoint: 6/1/2017 1:10:04 PM EP Started: 33962 6/1/2017 1:10:58 PM EP ended: 33962
не могли бы вы сообщить мне, в чем заключается основная причина этой проблемы?
Что я уже пробовал:
var webClient = new System.Net.WebClient(); webClient.Headers.Add("abc", "xyz"); webClient.Headers.Add("abc1", "xyz1"); File.AppendAllLines("FilePath\\Log.txt", new string[] { string.Format("{0} EP Calling Started: {1}", DateTime.Now, BatchID) }); System.Collections.Specialized.NameValueCollection formData = new System.Collections.Specialized.NameValueCollection(); formData["test"] = "test"; webClient.UploadValuesAsync(new Uri(webAddr), "Post", formData); File.AppendAllLines("FilePath\\Log.txt",, new string[] { string.Format("{0} EP Calling ended: {1}", DateTime.Now, BatchID) });