У меня есть простое приложение .NET WPF. Я добавил ссылку на службу. вПроверка подлинности NTLM на Sharepoint Services завершилась неудачно в List.asmx, но работает для copy.asm
//server:port/sites/site_collection_name/_vti_bin/lists.asmx
и называем его рассылки. Я набрал код с последующим
ListsSoapClient client = new ListsSoapClient();
if (client.ClientCredentials != null)
client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
try
{
client.Open();
Console.WriteLine(client.State);
System.Xml.Linq.XElement listCollection = client.GetListCollection();
}
}
От app.config
<binding name="ListsSoap">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm" proxyCredentialType="Ntlm"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
Выше код Фиксаторы CommunicationException:
System.ServiceModel.Security.MessageSecurityException:
The HTTP request is unauthorized with client authentication scheme 'Ntlm'.
The authentication header received from the server was 'NTLM'. --->
System.Net.WebException: The remote server returned an error: (401) Unauthorized.
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
--- End of inner exception stack trace ---
Server stack trace:
at System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication
HttpWebRequest request, HttpWebResponse response, WebException responseException, HttpChannelFactory`1 factory)
Я включил окна autentication на МКС, где находится SharePoint. Очень странно, что я использовал аналогичный код для успешного добавления документа в библиотеку документов. Все правильные учетные данные описывают добавленный документ в списке sharepoint.
Я даже пробовал устареть: client.ClientCredentials.Windows.AllowNtlm = true;
Я решил проблему с использованием Web Reference вместо использования Service Reference. Почему NTLM в справочной службе «Copy.asmx» работает, а ссылка на «List.asmx» не является вопросом. – AdrianX