Соединение не может быть выполнено, так как целевая машина активно отказывалась от нее 127.0.0.1

Я пытаюсь подключиться к веб-службе, размещенной на другом сервере, используя класс WebRequest. Веб-служба возвращает строку в качестве ответа. При этом я получаю сообщение об ошибке:

"System.Net.Sockets.SocketException: соединение не может быть выполнено потому что целевая машина активно отказалась от нее"

System.Net.WebException: невозможно подключиться к удаленному серверу --- > System.Net.Sockets.SocketException: соединение не может быть выполнено потому что целевая машина активно отказалась от нее 127.0.0.1:14012 на System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) в System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket & сокет, IPAddress & адрес, Состояние ConnectSocketState, IAsyncResult asyncResult, Exception & исключение) --- Конец внутренней проверки стека исключений --- at System.Net.HttpWebRequest.GetRequestStream(TransportContext & контекст) в System.Net.HttpWebRequest.GetRequestStream() в Limoallover.InsertSoapEnvelopeIntoWebRequestUS(XmlDocument soapEnvelopeXml, HttpWebRequest webRequest) при Limoallover.dawUpdateDriverStatus(String apiId, String apiKey, String idTrip, String tripCode, String statusCode) при Limoallover.UpdateJobStatus(String Lat, String Lng, Int32 DriverID, Int32 nJobStatus, Int32 nJobId, String CompanyID, String idTrip, String tripCode, String statusCode)

private  HttpWebRequest CreateWebRequestUS(string url, string action)
{
    HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
    webRequest.Headers.Add("SOAPAction", action);
    webRequest.ContentType = "text/xml;charset=\"utf-8\"";
    webRequest.Accept = "text/xml";
    webRequest.Method = "POST";
    return webRequest;
}

private  XmlDocument CreateSoapEnvelopeUS(string apiId, string apiKey, string idTrip, string tripCode, string statusCode)
{
    XmlDocument soapEnvelop = new XmlDocument();

    string xml = "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">";

    xml = xml + @"<soap:Body>";
    xml = xml + "<UpdateTripStatus xmlns=\"https://book.mylimobiz.com/api\">";
    xml = xml + @"<apiId>" + apiId + "</apiId>";
    xml = xml + @"<apiKey>" + apiKey + "</apiKey>";
    xml = xml + @"<idTrip>" + idTrip + "</idTrip>";
    xml = xml + @"<tripCode>" + tripCode + "</tripCode>";
    xml = xml + @"<statusCode>" + statusCode + "</statusCode>";
    xml = xml + @"</UpdateTripStatus>";
    xml = xml + @"</soap:Body>";
    xml = xml + @"</soap:Envelope>";



    soapEnvelop.LoadXml(xml);
    return soapEnvelop;
}

private static void InsertSoapEnvelopeIntoWebRequestUS(XmlDocument soapEnvelopeXml, HttpWebRequest webRequest)
{
    using (Stream stream = webRequest.GetRequestStream())
    {
        soapEnvelopeXml.Save(stream);
    }
}

Ответы

Ответ 1

Через шесть дней я нахожу ответ, который заставляет меня сходить с ума! Ответ: отключить прокси-сервер в файле web.config:

<system.net>
  <defaultProxy> 
    <proxy usesystemdefault="False"/> 
  </defaultProxy>
</system.net>

Ответ 2

Сообщение об исключении говорит, что вы пытаетесь подключиться к одному и тому же хосту (127.0.0.1), в то время как вы заявляете, что ваш сервер работает на другом хосте. Помимо очевидных ошибок, таких как наличие "localhost" в URL-адресе или, возможно, некоторые из них, возможно, захотят проверить настройки DNS.

Ответ 3

Существует брандмауэр, блокирующий соединение, или процесс, на котором размещается служба, не прослушивает этот порт. Или он прослушивает другой порт.

Ответ 4

У меня была такая же проблема с сайтом, который раньше работал нормально. Я решил проблему, удалив временные файлы из C:\WINDOWS\Microsoft.NET\Framework\v#.#.#####\Temporary ASP.NET Files\@proyectName\###CC##C\###C#CC

Ответ 5

У меня была аналогичная проблема, пытаясь запустить HttpSelfHostServer на WCF в Debug под моим VisualStudio 2013. Я пробовал все возможные направления (отключите брандмауэр, полностью отключив IIS, чтобы исключить возможность подключения локального порта какой-либо другой службой и т.д.).

В конце концов, что "сделал трюк" (решил проблему), был перезапущен VisualStudio 2013 как Администратор.

Удивительная.

Ответ 6

Проблема исчезла, когда я начал Fiddler. Использовал его на моей машине, прежде чем возникла проблема. Вероятно, что-то с Fiddler является прокси.

Ответ 7

Если бы та же проблема, оказалось, что блокировка соединений WindowsFirewall. Попытайтесь отключить WindowsFirewall некоторое время, чтобы узнать, помогает ли она, и если это проблема, открывайте порты по мере необходимости.

Ответ 8

Удалить файлы Temp с помощью run > % temp%

И откройте VS2015, запустив его как admin,

он работает для меня.

Ответ 9

Если у вас есть конфигурационный файл, убедитесь, что в вашем публичном профиле выбрана правильная конфигурация. (Публикация > Настройки > Конфигурация)

Ответ 10

Если у вас есть это, пока Fiddler запущен → в Fiddler, перейдите в "Правила" и отключите "Автоматически аутентифицировать", и он должен снова работать.