Почему я получаю 401 ошибок при подключении к службе метаданных Dynamics CRM? - PullRequest
1 голос
/ 15 октября 2008

Я подключаюсь к CRM с целью получения списка значений списка выбора. На моей машине для разработки я работаю под своим собственным логином и все работает нормально. На тестовом сервере код выполняется под учетной записью NETWORK SERVICE. Когда он подключается к веб-сервису CRM, все замечательно. При подключении к службе метаданных я получаю 401 несанкционированных сообщений.

Я впервые использую службу метаданных, поэтому надеюсь, что кто-нибудь скажет мне, почему я получаю ошибку. Соединение настраивается с использованием приведенного ниже кода, и сбой происходит, когда вы пытаетесь получить данные списка выбора.

CrmAuthenticationToken token = new CrmAuthenticationToken();
token.OrganizationName = config.AppSettings.Settings["CrmTargetOrganisation"].Value;
token.AuthenticationType = 0;

MetadataService service = new MetadataService();
service.Credentials = System.Net.CredentialCache.DefaultCredentials;
service.Url = config.AppSettings.Settings["CrmMetadataServiceUrl"].Value;
service.CrmAuthenticationTokenValue = token;
service.UnsafeAuthenticatedConnectionSharing = true;

Ответы [ 2 ]

1 голос
/ 19 октября 2008

Я подозреваю, что это может быть проблема с Kerberos / делегированием, чтобы убедиться, что он пытается заменить DefaultCredentials на новый System.Security.Net.NetworkCredentials («имя пользователя», «пароль», «домен»);

Посмотрите, даст ли это вам 401.

Это быстрый способ, с помощью которого я обычно пытаюсь определить, связан ли он с kerbos / security.

Мне нужно немного больше информации о вашей среде, чтобы делать любые другие разумные комментарии.

Надеюсь, это поможет.

0 голосов
/ 16 сентября 2016

В моем случае (да, мы все еще используем CRM 4), веб-сайт в IIS не был привязан к имени хоста, используемому для доступа к службе метаданных через порт 5555.

...