Метаданные содержат ссылку, которую невозможно разрешить. Удаленный сервер возвратил ошибку: (401) Неавторизованный

У меня есть служба Windows, которая обращается к Microsoft Dynamics CRM 2011.

У меня проблема с сервисом Windows, выдающим исключение при попытке подключиться к CRM 2011.

Он отлично работает, когда мы запускаем сервис прямо с сервера.

У меня есть права администратора в организации CRM, которую я пытаюсь подключить.

Это код подключения к CRM:

  private OrganizationServiceProxy BuildCRMServiceProxy()
     {
         var credentials = new ClientCredentials();            
         var orgConfigInfo = ServiceConfigurationFactory.CreateConfiguration<IOrganizationService>(OrganizationUri);
         return new OrganizationServiceProxy(orgConfigInfo, credentials);
     }

Исключение приведено ниже:

ОШИБКА 2013-08-21 09: 27: 47,958 [8] System.InvalidOperationException: метаданные содержат ссылку, которая не может быть разрешена: 'http: // * ** /XRMServices/2011/OrganizationData.svc?wsdl '. ---> System.Net.WebException: удаленный сервер возвратил ошибку: (401) неавторизованный. в System.Net.HttpWebRequest.GetResponse () в System.ServiceModel.Description.MetadataExchangeClient.MetadataLocationRetriever.DownloadMetadata (TimeoutHelper timeoutHelper) в System.ServiceModel.Description.MetadataExchangeataRetriever.Exception трассировка --- в System.ServiceModel.Description.MetadataExchangeClient.MetadataRetriever.Retrieve (TimeoutHelper timeoutHelper) в System.ServiceModel.Description.MetadataExchangeClient.ResolveNext (ResolveCallStateExchangeClient. .Xrm.Sdk.Client.ServiceMetadataUtility. точка (Uri serviceUri) в Microsoft.Xrm.Sdk.Client.OrganizationServiceConfiguration..ctor (Uri serviceUri) в Microsoft.Xrm.Sdk.Client.ServiceConfigurationFactory.CreateConfiguration [TService] (Uri serviceUri) в * .DynamicsUpdater.ServiceAgent.DynamicsAgent.BuildCRMServiceProxy () в ** .DynamicsUpdater.ServiceAgent.DynamicsAgent.InsertEntity (String entityName, Boolean isRelationship, Dictionary2 attributes, Guid& generatedId) at ******.DynamicsUpdater.BusinessLogic.CRMProcessorFactory.<>c__DisplayClass3d1.b__3c (обновление обновления, ICRMRepository CRM, I UpdatesRepo) в ** .DynamicsUpdater.BusinessLogic.Controllers.ApprovedUpdateController. ‹> c_ DisplayClass3.b _1 (логическое значение wasProcessedYet, источник Func4 processor) at System.Linq.Enumerable.Aggregate[TSource,TAccumulate](IEnumerable1, начальное число TAccumulate, Func3 func) at ******.DynamicsUpdater.BusinessLogic.Controllers.ApprovedUpdateController.Process(Update update) at ******.DynamicsUpdater.BusinessLogic.Controllers.UpdateControllerBase.Execute(Func1 retrieveUpdateForProcessingCallback) strong> ** .DynamicsUpdater.Updater. ‹> c_ DisplayClassb.b _a ()


Он отлично работает, когда мы запускаем его с Windows Server 2008, но не когда я запускаю со своего рабочего стола Windows 7 64 бит.


person adeel    schedule 21.08.2013    source источник


Ответы (2)


Похоже, вы не предоставляете серверу действительные учетные данные. Ваш компьютер находится в той же сети, что и сервер? Если да, попробуйте NetworkCredential:

credentials.Windows.ClientCredential = new System.Net.NetworkCredential("username", "password", "domain");
person Patrick    schedule 21.08.2013
comment
Спасибо за ваш ответ, он находится в том же домене. Собственно исправил. Я по ошибке в файле app.config установил для ServiceUri значение host / OrgName / XRMServices / 2011 / OrganizationDATA.svc; но должно быть host / OrgName / XRMServices / 2011 / Organization.svc; так что это устранило проблему. - person adeel; 26.02.2014
comment
Спасибо adeel, мой ServiceUri был поврежден по-другому, и ваш комментарий помог решить мою проблему. - person AshleyS; 24.06.2014
comment
@adeel да спасибо! точно такая же проблема. слишком долго смотрел на это! - person Jon Grant; 21.11.2014

У меня была такая же проблема (ОШИБКА: метаданные содержат ссылку, которую невозможно разрешить)

но эта ошибка возникает, когда я создаю новый проект под названием «Новый шаблон решения Visual Studio для Dynamic CRM 2013» в узле Dynamic CRM C # в Visual Studio 2010.

он сначала запрашивает доменное имя и номер порта, и если вы не предоставляете действительное доменное имя, он выдает такую ​​ошибку. Доменное имя, которое вы получите от службы обнаружения wsdl, и не нужно указывать порт, он автоматически выберет доступный. а затем вставьте свои учетные данные, и теперь вы можете создать проект, который можно развернуть в облаке.

person Friyank    schedule 29.12.2014