HttpWebRequest.GetRequestStream() — ошибка. Базовое соединение было закрыто: при отправке произошла непредвиденная ошибкC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 HttpWebRequest.GetRequestStream() — ошибка. Базовое соединение было закрыто: при отправке произошла непредвиденная ошибк

Сообщение Anonymous »

Я получаю сообщение об ошибке в HttpWebRequest.GetRequest() при попытке отправить XML-запрос на один веб-сервис для получения ответа. Этот же запрос работает от Postman. Пожалуйста, направляйте в правильном направлении, чтобы решить эту проблему. Ниже приведен основной текст и код XML.

Код: Выделить всё

    string xmlMessage = ""
""
""
""
"22101  xxxxxxxx"
"" "" "";

byte[] requestInFormOfBytes = System.Text.Encoding.ASCII.GetBytes(xmlMessage);
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("https://xxxxxxx.xx/xxxx/GetDetail");
webRequest.Method = "POST";
webRequest.ContentType = "application/xml";
webRequest.Headers.Add("SOAPAction", "http://tempuri.org/GetDetail");
webRequest.Headers.Add("Client-Id", "XXXXXXXXXXXXX");
webRequest.Headers.Add("Client-Secret", "XXXXXXXXXXXXXXXXX");
webRequest.Accept = "application/xml";
webRequest.ContentLength = requestInFormOfBytes.Length;

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
Ошибка в этой строке.

Поток requestStream = webRequest.GetRequestStream();

Ошибка в этой строке.

Поток requestStream = webRequest.GetRequestStream();

Ошибка в этой строке.

Поток requestStream = webRequest.GetRequestStream();

Ошибка в этой строке.

Поток requestStream = webRequest.GetRequestStream();

Ошибка в этой строке.

Stream requestStream = webRequest.GetRequestStream();

Ошибка в этой строке.

Stream requestStream = webRequest.GetRequestStream();

сильный>

Код: Выделить всё

 requestStream.Write(requestInFormOfBytes, 0, requestInFormOfBytes.Length);
requestStream.Close();

HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
StreamReader respStream = new StreamReader(response.GetResponseStream(), System.Text.Encoding.Default);
string receivedResponse = respStream.ReadToEnd();
Console.WriteLine(receivedResponse);
respStream.Close();
response.Close();
Спасибо всем за правильное направление, проблема решена путем (1) тестирования с помощью FrameWork 4.6
(2) использования SecurityProtocoltype.Tls12 (см. https:/ /stackoverflow.com/a/32789483/5694613).

Подробнее здесь: https://stackoverflow.com/questions/562 ... was-closed
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»