2017-03-03 32 views
5

Otrzymuję losowo (nie zawsze) „Wystąpił błąd podczas odbierania odpowiedzi HTTP do ..” Dzwoniąc SOAP API od klienta. To się nie zdarza za każdym razem. Moja aplikacja jest usługą WCF.WCF Getting „Wystąpił błąd podczas odbierania odpowiedzi HTTP do ..” w przypadkowej rozmowy

Client config:

<binding name="AbcBinding" 
       sendTimeout="00:02:45" 
       closeTimeout="00:02:45" 
       openTimeout="00:02:45" 
       receiveTimeout="00:10:00" 
       bypassProxyOnLocal="false" 
       maxBufferPoolSize="2147483647" 
       maxReceivedMessageSize="2147483647"> 
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/> 
       <security mode="Transport" > 
       <transport clientCredentialType="Basic" /> 
       </security> 
     </binding> 

<client> 
     <endpoint binding="basicHttpBinding" bindingConfiguration="AbcBinding" 
       contract="AbcContract" name="AbcBinding" /> 
    </client> 

Kod:

var configFactory = new ConfigurationChannelFactory<AbcContract>("AbcBinding"), ConfigFile, "localhost:9198/AbcCall"); 

      #region Basic http authentication 
      if (configFactory.Credentials != null) 
      { 
        var defaultCredentials = configFactory.Endpoint.Behaviors.Find<ClientCredentials>(); 
        configFactory.Endpoint.Behaviors.Remove(defaultCredentials); 

        var loginCredentials = new ClientCredentials(); 
        loginCredentials.UserName.UserName = "UserName"; 
        loginCredentials.UserName.Password = "Password"; 
        configFactory.Endpoint.Behaviors.Add(loginCredentials); 

      } 

EDIT Na lokalnym środowisku, to działa dobrze z następującej konfiguracji: useDefaultWebProxy="false" proxyAddress="http://127.0.0.1:8888"

Ale na serwerze rozmieszczania jestem uzyskanie następującego błędu w powyższej konfiguracji:

W punkcie ... nie było punktu końcowego, który mógłby przyjąć wiadomość. Często jest to spowodowane nieprawidłowym adresem lub działaniem protokołu SOAP. Zobacz InnerException, jeśli jest obecny, aby uzyskać więcej szczegółów.

+1

To brzmi jak nierówne połączenie z serwerem. Jeśli uruchomisz ciągły ping, czy któryś z nich przestanie działać/zostanie upuszczony? – Aaroninus

Odpowiedz

1

"Wystąpił błąd podczas odbierania odpowiedzi HTTP." Ten błąd może wystąpić, gdy coś popsuje się w kodzie serwisowym.

Sprawdź ponownie kod serwisowy.

Spróbuj włączyć svclog na kliencie i serwerze. Dziennik śledzenia może dać pewien pomysł:

Powiązane problemy