Коллеги всем доброго времени суток!
Столкнулся со следующей проблемой, обработки исключений возвращаемых при запросе к внешнему API.
Делаю запрос через WebClient
public void Patch(string method, Dictionary<string, string> parameters)
{
try
{
NameValueCollection parametersValues = new NameValueCollection();
foreach (var parameter in parameters)
{
if (String.IsNullOrEmpty(parameter.Value))
{
parametersValues.Add(parameter.Key, null);
continue;
}
parametersValues.Add(parameter.Key, parameter.Value);
}
string uri = $"{abUrl}{method}";
using (WebClient webClient = new WebClient())
{
string credentials = Convert.ToBase64String(
Encoding.ASCII.GetBytes(LoginDev + ":" + PassDev));
webClient.Headers[HttpRequestHeader.Authorization] = $"Basic {credentials}";
webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
byte[] result = webClient.UploadValues(uri, "PATCH", parametersValues);
var response = Encoding.UTF8.GetString(result);
}
}
catch (WebException e)
{
var exceptionMessage = e.Message;
if (e.Status.Equals(WebExceptionStatus.ProtocolError))
{
if (e.Response is HttpWebResponse)
{
var sr = new StreamReader(e.Response.GetResponseStream());
var response = sr.ReadToEnd();
sr.Close();
sr.Dispose();
}
}
}
}
Когда пытаюсь обработать WebException в Bpm то мне записывает в логи - http://prntscr.com/kr7aja
При выполнении данного кода через консольное приложение обработка срабатывает корректно - http://prntscr.com/kr7baj
Подскажите в чем может быть проблема, как бороться?
Заранее благодарен.