Описание проблемы:
Имеется анонимный веб-сервис, который обрабатывает внешние запросы. Внутри сервиса как положено определяю системное подключение SystemUserConnection, для обеспечения работоспособности бизнес-процессов при работе с Entity добавляю соответствующую строку.
В одном из методов сервиса вызывается класс обработчик, который обрабатывает данные входящего запроса и запускает бизнес-процесс с передачей этих параметров внутрь.
По причине того, что внутри вызываемого бизнес-процесса вызывается класс для генерации печатных форм ReportService и он никак не хочет работать с системным подключением SystemUserConnection было решено запускать процесс через ProcessEngineService.svc с предварительной аутентификацией посредством AuthService.svc.
Суть проблемы: при запросе из postman к методу моего анонимного веб-сервиса на стенде c обычным протоколом (http) отрабатывает все хорошо, на стенде с защищенным протоколом (https) возникает исключение при аутентификации «The underlying connection was closed: An unexpected error occurred on a send.».
Пробовались попытки получить cookies из системного контекста и перегнать их в ProcessEngineService.svc.
cookies = new CookieContainer(); var sourceCookies = HttpContext.Current.Request.Cookies; for (int i = 0; i < sourceCookies.Count; i++) { System.Web.HttpCookie cSource = sourceCookies[i]; Cookie cookieTarget = new Cookie() { Domain = HttpContext.Current.Request.UserHostAddress, Name = cSource.Name, Path = cSource.Path, Secure = cSource.Secure, Value = cSource.Value }; cookies.Add(cookieTarget); }
HttpWebRequest httpWebRequest = WebRequest.Create(requestString) as HttpWebRequest; httpWebRequest.Method = "GET"; httpWebRequest.CookieContainer = cookies; httpWebRequest.GetResponse();
При таком подходе возникает тоже исключение «The underlying connection was closed: An unexpected error occurred on a send.», но уже при вызове метода httpWebRequest.GetResponse();
Как решить данную проблему?
Нравится
Ильдар, добрый день!
Скажите, Вы смотрели логи приложения? Возможно там есть более развернутый текст ошибки. Можете предоставить записи из логов, которые возникли в момент воспроизведения проблемы?