1

我有访问 Microsoft Dynamics CRM 2011 的 Windows 服务。

我在尝试连接到 CRM 2011 时遇到问题 Windows 服务出现异常。

当我们直接从服务器运行服务时它工作正常。

我对我要连接的 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.MetadataExchangeClient.MetadataRetriever.Retrieve(TimeoutHelper timeoutHelper) --- 内部异常堆栈结束跟踪 --- 在 System.ServiceModel.Description.MetadataExchangeClient.MetadataRetriever.Retrieve(TimeoutHelper timeoutHelper) 在 System.ServiceModel.Description.MetadataExchangeClient.ResolveNext(ResolveCallState resolveCallState) 在 System.ServiceModel.Description.MetadataExchangeClient.GetMetadata(MetadataRetriever 检索器) 在 Microsoft .Xrm.Sdk。1..ctor(Uri serviceUri, Boolean checkForSecondary) at Microsoft.Xrm.Sdk.Client.ServiceConfiguration1..ctor(Uri serviceUri) 在 Microsoft.Xrm.Sdk.Client.OrganizationServiceConfiguration.AdjustServiceEndpoint(Uri serviceUri) 在 Microsoft.Xrm.Sdk.Client.OrganizationServiceConfiguration..ctor(Uri serviceUri) 在 Microsoft.Xrm.Sdk.Client。 ServiceConfigurationFactory.CreateConfiguration[TService](Uri serviceUri) 在 * .DynamicsUpdater.ServiceAgent.DynamicsAgent.BuildCRMServiceProxy() at ** .DynamicsUpdater.ServiceAgent.DynamicsAgent.InsertEntity(String entityName, Boolean isRelationship, Dictionary 2 attributes, Guid& generatedId) at ******.DynamicsUpdater.BusinessLogic.CRMProcessorFactory.<>c__DisplayClass3d1.b__3c(Update update, ICRMRepository CRM, IUpdatesRepository updatesRepo) at ** .DynamicsUpdater.BusinessLogic .Controllers.ApprovedUpdateController.<>c_ DisplayClass3.b _1(Boolean wasProcessedYet, Func 4 processor) at System.Linq.Enumerable.Aggregate[TSource,TAccumulate](IEnumerable1 source, TAccumulate seed, Func 3 func) at ******.DynamicsUpdater.BusinessLogic.Controllers.ApprovedUpdateController.Process(Update update) at ******.DynamicsUpdater.BusinessLogic.Controllers.UpdateControllerBase.Execute(Func1 retrieveUpdateForProcessingCallback) at ** .DynamicsUpdater.Updater.<>c_ DisplayClassb.b _a()


当我们从 windows server 2008 运行它时它工作正常,但当我从桌面 windows 7 64 位运行时它就不行了。

4

2 回答 2

2

看起来您没有向服务器提供有效的凭据。您的桌面是否与服务器在同一网络中?如果是这样,请尝试 NetworkCredential:

credentials.Windows.ClientCredential = new System.Net.NetworkCredential("username", "password", "domain");
于 2013-08-21T12:06:17.600 回答
0

我遇到了同样的问题(错误:元数据包含无法解析的引用)

但是当我在 Visual Studio 2010 的 C# 的动态 CRM 节点中创建名为“动态 CRM 2013 的新 Visual Studio 解决方案模板”的新项目时,会出现此错误。

它首先询问域名和端口号,如果您没有提供有效的域名,则会给出这样的错误域名您将从发现服务 wsdl 获得并且不需要提供端口,它将自动获取可用的域名。而不是插入您的凭据,现在您可以创建一个可以部署在云上的项目。

于 2014-12-29T17:21:39.437 回答