Tôi nhận được ngẫu nhiên (Không phải luôn luôn) "Đã xảy ra lỗi khi nhận phản hồi HTTP tới .." khi gọi API SOAP từ khách hàng. Nó không xảy ra mọi lúc. Ứng dụng của tôi là một dịch vụ WCF.WCF Nhận "Đã xảy ra lỗi khi nhận phản hồi HTTP tới .." trên cuộc gọi ngẫu nhiên
Khách hàng 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>
Code:
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 Về môi trường địa phương, nó đang làm việc tốt với cấu hình sau: useDefaultWebProxy="false" proxyAddress="http://127.0.0.1:8888"
Nhưng trên máy chủ triển khai Tôi nhận được lỗi sau với cấu hình ở trên:
Không có điểm cuối nghe ở ... có thể chấp nhận thông báo. Điều này thường được gây ra bởi một địa chỉ không chính xác hoặc hành động SOAP. Xem InnerException, nếu có, để biết thêm chi tiết.
Điều này nghe có vẻ giống như kết nối điểm đến máy chủ. Nếu bạn chạy một ping liên tục, làm bất kỳ người trong số họ thời gian ra/nhận được giảm? – Aaroninus