Не удалось найти элемент конечной точки по умолчанию, который ссылается на службу WCF контракта, на которую ссылается модель BCS
Я настроил службу WCF с помощью одного метода, возвращающего System.IO.Stream, на который ссылается моя модель BCS как StreamAccessor. Все работает нормально, когда я открываю файл через страницу профиля BCS, нажимая "Нажмите здесь, чтобы загрузить".
Проблема возникает, когда я пытаюсь сканировать приложение BCS с помощью поиска SharePoint. Когда SharePoint сканирует объект BCS, он выдает следующее предупреждение для каждого файла;
Этот элемент состоит из нескольких частей и / или может иметь вложения. Не все эти части были проиндексированы. Они могут быть недействительными или намеренно пропущены (например, изображения). Удаленный сервер также мог не отвечать на запросы при индексации этих частей. (Не удалось найти элемент конечной точки по умолчанию, который ссылается на контракт 'RH.Wcf.IEmailFilerGetService' в разделе конфигурации клиента ServiceModel. Это может быть связано с тем, что для вашего приложения не найден файл конфигурации, или из-за того, что ни один элемент конечной точки, соответствующий этому контракту, не найден в клиентский элемент.)
У меня есть правильные настройки и привязки в файлах web.config как для Central Admin, так и для веб-приложения, в котором работает основной сайт.
Я даже дошел до того, что пытался жестко кодировать в настройках WCF в GetMessage StreamAccessor;
SecurityBindingElement securityElement = SecurityBindingElement.CreateUserNameOverTransportBindingElement();
HttpsTransportBindingElement httpsTransport = new HttpsTransportBindingElement();
httpsTransport.AuthenticationScheme = System.Net.AuthenticationSchemes.Ntlm;
BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.None);
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm;
binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.Ntlm;
binding.CloseTimeout = new TimeSpan(00, 05, 00);
binding.OpenTimeout = new TimeSpan(00, 05, 00);
binding.ReceiveTimeout = new TimeSpan(00, 05, 00);
binding.SendTimeout = new TimeSpan(00, 05, 00);
binding.TextEncoding = System.Text.Encoding.UTF8;
binding.MaxReceivedMessageSize = int.MaxValue;
binding.MaxBufferSize = int.MaxValue;
binding.MessageEncoding = WSMessageEncoding.Mtom;
binding.AllowCookies = false;
binding.TransferMode = TransferMode.Buffered;
binding.BypassProxyOnLocal = true;
binding.Security.Mode = BasicHttpSecurityMode.None;
binding.ReaderQuotas.MaxArrayLength = int.MaxValue;
binding.ReaderQuotas.MaxBytesPerRead = int.MaxValue;
binding.ReaderQuotas.MaxDepth = int.MaxValue;
binding.ReaderQuotas.MaxNameTableCharCount = int.MaxValue;
binding.ReaderQuotas.MaxStringContentLength = int.MaxValue;
//binding.GetType().GetProperty("ReaderQuotas").SetValue(binding, XmlDictionaryReaderQuotas.Max, null);
EndpointAddress endPoint = new EndpointAddress("http://MYSERVER:1234/EmailFilerGetService.svc");
ChannelFactory<IEmailFilerGetServiceChannel> chan = new ChannelFactory<IEmailFilerGetServiceChannel>(binding, endPoint);
IEmailFilerGetServiceChannel wc = chan.CreateChannel();
RHEmailDownloadStreamArg arg = new RHEmailDownloadStreamArg(emailId);
RHEmailDownloadStream str = wc.GetSingleMsg(arg);
Я просто не могу понять, что здесь происходит, это просто безумие.
Окружающая среда, в которой я работаю;
SharePoint 2010 версия 14.0.6029.1000
Служба WCF - это.NET Framework 4.0
Служба BCS работает с.NET Framework 3.5 в соответствии с требованиями SharePoint.
ПОЖАЛУЙСТА ПОМОГИ!