Ошибка записи сервисного уровня Sap B1 (POST, PATCH и т. Д.).Asp.Net Httpwebrequest - PullRequest
0 голосов
/ 27 ноября 2018

Я сталкиваюсь с исключением, когда отправляю данные на сервисный уровень Sap B1 через Asp.Net HttpWebRequest.

Мы использовали адрес https://xx.xx.x.xxx:50000/b1s/v1/ для операций уровня обслуживания, но затем мы переключились наhttp://xx.xx.x.xxx:50001/b1s/v1/ адрес (порты балансировки нагрузки).Это решило некоторые проблемы, но теперь мы сталкиваемся с «Базовое соединение было закрыто: соединение было неожиданно закрыто.» ошибка.Ошибка возникает только в методах записи, таких как «POST» и «PATCH».Интересно, что ошибка редко возникает после первых 2-3 запросов.

Я отправляю запрос HttpWebRequest, как показано ниже, и я скопировал эти настройки из Sap B1 Sample Project, также пробовал много разных настроек, но не смог решить проблему.Спасибо.

        var request = (HttpWebRequest)WebRequest.Create(url);
        request.Method = "PATCH"
        request.Accept = "application/json;odata=minimalmetadata";
        request.KeepAlive = true;                               
        request.ServicePoint.Expect100Continue = false;       
        request.AllowAutoRedirect = true;
        request.ContentType = "application/json;odata=minimalmetadata;charset=utf8";
        request.Timeout = 10000000;
        request.Headers.Add(HttpRequestHeader.Cookie, "B1SESSION=" + GetSessionId());

У меня также есть настройки ниже в моем Global.asax.cs

        ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;
        ServicePointManager.ServerCertificateValidationCallback +=
            (sndr, cert, chain, sslPolicyErrors) => true;

1 Ответ

0 голосов
/ 14 декабря 2018

Мы обнаружили, что основная причина «Базовое соединение было закрыто: соединение было неожиданно закрыто».ошибка о нехватке аппаратных ресурсов.После того, как мы переключились на более мощный сервер, который использует ту же конфигурацию для уровня обслуживания со старой машиной (среда разработки), проблема была решена.

...