У меня есть служба 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: // * ** strong> /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, Dictionary
2 attributes, Guid& generatedId) at ******.DynamicsUpdater.BusinessLogic.CRMProcessorFactory.<>c__DisplayClass3d
1.b__3c (обновление обновления, ICRMRepository CRM, I UpdatesRepo) в ** .DynamicsUpdater.BusinessLogic.Controllers.ApprovedUpdateController. ‹> c_ DisplayClass3.b _1 (логическое значение wasProcessedYet, источник Func4 processor) at System.Linq.Enumerable.Aggregate[TSource,TAccumulate](IEnumerable
1, начальное число TAccumulate, Func3 func) at ******.DynamicsUpdater.BusinessLogic.Controllers.ApprovedUpdateController.Process(Update update) at ******.DynamicsUpdater.BusinessLogic.Controllers.UpdateControllerBase.Execute(Func
1 retrieveUpdateForProcessingCallback) strong> ** .DynamicsUpdater.Updater. ‹> c_ DisplayClassb.b _a ()
Он отлично работает, когда мы запускаем его с Windows Server 2008, но не когда я запускаю со своего рабочего стола Windows 7 64 бит.