Цитата:
Сообщение от
g.Naukovych
Здесь ровно то же самое, что я предложил.
NetworkCredential)CredentialCache.DefaultCredentials
берутся из пула приложения. Веб-сервис у нас не входит в CRM и является сторонним сайтом. Аутентификация моя в CRM для него не интересна. Значит мне либо при подключении к нему необходимо указать логин и пароль. Либо использовать анонимную авторизацию и аутентификацию пула. Где и будут DefaultCredentials того пользователя, от которого работает пул.
Проблема кода, то что не указывалось, что необходимо использовать DefaultNetworkCredential. Сравните:
Код топик стартера:
Код:
var cred = new ClientCredentials();
OrganizationServiceProxy(organizationUri, null, cred, null);
Код из блога:
Код:
ClientCredentials credentials = new ClientCredentials();
// set default credentials for OrganizationService
credentials.Windows.ClientCredential = (NetworkCredential)CredentialCache.DefaultCredentials;
// or
credentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;
OrganizationServiceProxy orgProxy = new OrganizationServiceProxy(organizationUri, homeRealmUri, credentials, null);
Думаю, что разница в коде видна невооружённым глазом.