Я новичок в вызове веб-служб WCF, поэтому надеюсь, что это простой вопрос.Как при смене схемы авторизации с анонимной на NTLM при вызове веб-службы с клиентом WinNET .NET 4
В настоящий момент я получаю исключение: HTTP-запрос не авторизован при аутентификации клиентаСхема «Аноним».Заголовок аутентификации, полученный от сервера, был 'NTLM' .
. Моя цель - создать небольшой инструмент, который помог бы мне контролировать хранилище данных и куб TFS 2010.TFS предоставляет веб-сервис WarehouseControlWebService.Я могу вызвать сервис через тестовый режим в браузере при входе на сервер.Однако я пытаюсь вызвать тот же веб-сервис удаленно, с моего рабочего стола.Моя учетная запись находится в локальной группе администраторов на сервере.
Я создал WinForm .NET 4 с каноническими Button1 и TextArea1.Затем я добавил ссылку на службу в веб-службу и творчески назвал ее ServiceReference1:
Add Service Reference...
http://tfssvr:8080/tfs/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx
И вот мой код:
private void button1_Click(object sender, EventArgs e)
{
// Creating a proxy takes about 3-4 seconds
var dwSvc = new ServiceReference1.WarehouseControlWebServiceSoapClient();
// Invoking the method throws an MessageSecurityException
var dwStatus = dwSvc.GetProcessingStatus(null, null, null);
}
Я получаю System.ServiceModel.Security.MessageSecurityException:
HTTP-запрос не авторизован с помощью схемы аутентификации клиента «Anonymous».Заголовок аутентификации, полученный от сервера, был 'NTLM' .
. Я попытался передать свои учетные данные через:
dwSvc.ClientCredentials.Windows.ClientCredential =
new System.Net.NetworkCredential("user", "pass", "domain");
, а также ...
dwSvc.ClientCredentials.Windows.ClientCredential =
CredentialCache.DefaultNetworkCredentials;
Я перебираю документацию WCF, но ... о боже ... там много всего.Я надеюсь, что это что-то легко ??
Заранее спасибо.