Описание проблемы:

Имеется анонимный веб-сервис, который обрабатывает внешние запросы. Внутри сервиса как положено определяю системное подключение 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();

Как решить данную проблему?

Нравится

1 комментарий

Ильдар, добрый день!

 

Скажите, Вы смотрели логи приложения? Возможно там есть более развернутый текст ошибки. Можете предоставить записи из логов, которые возникли в момент воспроизведения проблемы?

Показать все комментарии