У нас есть служба Windows, которая выполняет вызов службы WCF.Обычно работает нормально.Однако, иногда, когда мы перезапускаем Службу Windows, выдается MessageSecurityException
, и все возвращается к исходному состоянию, а затем снова и снова.
Одно из найденных нами решений - установить AllowedImpersonationLevel
в «Олицетворение».Тем не менее, мы не используем никакого подражания.Кроме того, это случайная проблема и не всегда воспроизводимая.Следовательно, это решение не имеет значения.
Любой свет, который кто-то может пролить на это, будет высоко оценен.
Трассировка стека сообщения об ошибке:
2010-12-24 23: 18: 42,581 [3] ОШИБКА [DataSync] - во время синхронизации данных произошла ошибка [(null)] System.ServiceModel.Security.MessageSecurityException: HTTP-запрос не авторизован с помощью схемы аутентификации клиента «Переговоры».Заголовок аутентификации, полученный от сервера, был 'Negotiate, NTLM'.-> System.Net.WebException: удаленный сервер возвратил ошибку: (401) не авторизован.в System.Net.HttpWebRequest.GetResponse () в System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply (TimeSpan timeout) - конец трассировки стека внутренних исключений -
1013ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication (HttpWebRequest запрос, ответ HttpWebResponse, WebException responseException, HttpChannelFactory завод) в System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse (HttpWebRequest запрос, ответ HttpWebResponse, HttpChannelFactory завод, WebException responseException, channelBinding channelBinding) в System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply (тайм-аут TimeSpan) в System.ServiceModel.Channels.RequestChannel.Request (сообщение-сообщение, тайм-аут TimeSpan) в System.ServiceModelRequader.ServiceModel.Channels.ServiceChannel.Вызов (строковое действие, логическое одностороннее, операция ProxyOperationRuntime, Object [] ins, Object [] ауты, тайм-аут TimeSpan) в System.ServiceModel.Channels.ServiceChannel.Call (строковое действие, логическое одностороннее действие, операция ProxyOperationRuntime, Object [] ins, Object[] outs) в System.ServiceModel.Channels.ServiceChannelProxy.InvokeService (метод IMethodCallMessageCall, операция ProxyOperationRuntime) в System.ServiceModel.Channels.ServiceChannelProxy.Invoke (сообщение IMessage)
* 1015