元数据包含无法解析的引用远程服务器返回错误:(401)未经授权

时间:2013-08-21 09:02:33

标签: dynamics-crm-2011 crm microsoft-dynamics dynamic-proxy

我有访问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);
     }

例外情况如下:

  

ERROR 2013-08-21 09:27:47,958 [8] System.InvalidOperationException:   元数据包含无法解析的引用:   的 'http:// * ** /XRMServices/2011/OrganizationData.svc?wsdl'。 ---&GT;   System.Net.WebException:远程服务器返回错误:(401)   未经授权。在System.Net.HttpWebRequest.GetResponse()处   System.ServiceModel.Description.MetadataExchangeClient.MetadataLocationRetriever.DownloadMetadata(TimeoutHelper   timeoutHelper)at   System.ServiceModel.Description.MetadataExchangeClient.MetadataRetriever.Retrieve(TimeoutHelper   timeoutHelper)---内部异常堆栈跟踪结束--- at   System.ServiceModel.Description.MetadataExchangeClient.MetadataRetriever.Retrieve(TimeoutHelper   timeoutHelper)at   System.ServiceModel.Description.MetadataExchangeClient.ResolveNext(ResolveCallState   resolveCallState)at   System.ServiceModel.Description.MetadataExchangeClient.GetMetadata(MetadataRetriever   猎犬)   Microsoft.Xrm.Sdk.Client.ServiceMetadataUtility.RetrieveServiceEndpointMetadata(类型   contractType,Uri serviceUri,Boolean checkForSecondary)at   Microsoft.Xrm.Sdk.Client.ServiceConfiguration 1..ctor(Uri serviceUri, Boolean checkForSecondary) at Microsoft.Xrm.Sdk.Client.ServiceConfiguration 1..ctor(Uri serviceUri)   在   Microsoft.Xrm.Sdk.Client.OrganizationServiceConfiguration.AdjustServiceEndpoint(URI   serviceUri)at   Microsoft.Xrm.Sdk.Client.OrganizationServiceConfiguration..ctor(URI   serviceUri)at   Microsoft.Xrm.Sdk.Client.ServiceConfigurationFactory.CreateConfiguration [TService](URI   serviceUri)at    * .DynamicsUpdater.ServiceAgent.DynamicsAgent.BuildCRMServiceProxy()at    ** .DynamicsUpdater.ServiceAgent.DynamicsAgent.InsertEntity(String entityName,Boolean isRelationship,Dictionary 2 attributes, Guid& generatedId) at ******.DynamicsUpdater.BusinessLogic.CRMProcessorFactory.<>c__DisplayClass3d 1.b__3c(更新   更新,ICRMRepository CRM,IUpdatesRepository updatesRepo)at   的 ** .DynamicsUpdater.BusinessLogic.Controllers.ApprovedUpdateController&LT;&GT; C_ DisplayClass3.b _1(布尔   wasProcessedYet,Func 4 processor) at System.Linq.Enumerable.Aggregate[TSource,TAccumulate](IEnumerable 1   来源,TAccumulate种子,Func 3 func) at ******.DynamicsUpdater.BusinessLogic.Controllers.ApprovedUpdateController.Process(Update update) at ******.DynamicsUpdater.BusinessLogic.Controllers.UpdateControllerBase.Execute(Func 1   retrieveUpdateForProcessingCallback)at   的 ** .DynamicsUpdater.Updater&LT;&GT; C_ DisplayClassb.b _a()

     

当我从Windows Server 2008运行它时工作正常,但是当我从桌面Windows 7 64位运行时却没有。

2 个答案:

答案 0 :(得分:2)

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

credentials.Windows.ClientCredential = new System.Net.NetworkCredential("username", "password", "domain");

答案 1 :(得分:0)

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

但是当我创建名为&#34;动态CRM 2013的新Visual Studio解决方案模板&#34;在Visual Studio 2010中的C#动态CRM节点中。

首先要求输入域名和端口号,如果您没有提供有效的域名,则会出现此类错误 域名u将来自发现服务wsdl 并且不需要提供端口,它将自动获取可用的端口。 然后插入您的凭证,现在您可以创建一个可以部署在云上的项目。