HTTP-запрос неавторизован со схемой аутентификации клиента «Ntlm». ⇐ C#
-
Гость
HTTP-запрос неавторизован со схемой аутентификации клиента «Ntlm».
Здравствуйте, мне нужно позвонить в службу wcf, но она все равно отвечает мне с ошибкой:
System.ServiceModel.Security.MessageSecurityException: «HTTP-запрос неавторизован со схемой аутентификации клиента «Ntlm». Заголовок аутентификации, полученный от сервера, был «NTLM, Negotiate».
Мой код выглядит следующим образом:
Создание клиента:
varbinding = CreateBinding(); вар конечная точка = новый EndpointAddress(_settings.Endpoint); вар клиент = новый VoucherService.VoucherServiceClient (привязка, конечная точка); Привязка:
private static BasicHttpBinding CreateBinding() { привязка var = новая привязка BasicHttpBinding { ReceiveTimeout = TimeSpan.FromMinutes(10), SendTimeout = TimeSpan.FromMinutes(10), MaxReceivedMessageSize = 33554432, TransferMode= TransferMode.Buffered, Безопасность = новый BasicHttpSecurity { Режим = BasicHttpSecurityMode.TransportCredentialOnly, Транспорт = новый HttpTransportSecurity { ClientCredentialType = HttpClientCredentialType.Ntlm } } }; привязка.ReaderQuotas.MaxArrayLength = 32000; обратная привязка; } и позвоните:
var response = client.Send(/*некоторые данные*/) Существует старое решение .net4, из которого я взял конфигурацию. И вот это работает, и я могу вызвать службу, но в новом решении .net 6 с той же конфигурацией я получаю ошибку, как показано вверху. Можете ли вы предложить мне что-нибудь, что я могу проверить, чего еще не хватает? Спасибо!
Здравствуйте, мне нужно позвонить в службу wcf, но она все равно отвечает мне с ошибкой:
System.ServiceModel.Security.MessageSecurityException: «HTTP-запрос неавторизован со схемой аутентификации клиента «Ntlm». Заголовок аутентификации, полученный от сервера, был «NTLM, Negotiate».
Мой код выглядит следующим образом:
Создание клиента:
varbinding = CreateBinding(); вар конечная точка = новый EndpointAddress(_settings.Endpoint); вар клиент = новый VoucherService.VoucherServiceClient (привязка, конечная точка); Привязка:
private static BasicHttpBinding CreateBinding() { привязка var = новая привязка BasicHttpBinding { ReceiveTimeout = TimeSpan.FromMinutes(10), SendTimeout = TimeSpan.FromMinutes(10), MaxReceivedMessageSize = 33554432, TransferMode= TransferMode.Buffered, Безопасность = новый BasicHttpSecurity { Режим = BasicHttpSecurityMode.TransportCredentialOnly, Транспорт = новый HttpTransportSecurity { ClientCredentialType = HttpClientCredentialType.Ntlm } } }; привязка.ReaderQuotas.MaxArrayLength = 32000; обратная привязка; } и позвоните:
var response = client.Send(/*некоторые данные*/) Существует старое решение .net4, из которого я взял конфигурацию. И вот это работает, и я могу вызвать службу, но в новом решении .net 6 с той же конфигурацией я получаю ошибку, как показано вверху. Можете ли вы предложить мне что-нибудь, что я могу проверить, чего еще не хватает? Спасибо!
Мобильная версия