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

Dynamics crm 2011 元数据包含无法解析的引用远程服务器返回错误:(401)未经授权,dynamics-crm-2011,crm,microsoft-dynamics,dynamic-proxy,Dynamics Crm 2011,Crm,Microsoft Dynamics,Dynamic Proxy,我有访问Microsoft Dynamics CRM 2011的windows服务 当windows服务尝试连接到CRM 2011时出现异常问题 当我们直接从服务器上运行服务时,它可以正常工作 我对试图连接的CRM组织具有管理员权限 这是连接到CRM的代码: private OrganizationServiceProxy BuildCRMServiceProxy() { var credentials = new ClientCredentials();

我有访问Microsoft Dynamics CRM 2011的windows服务

当windows服务尝试连接到CRM 2011时出现异常问题

当我们直接从服务器上运行服务时,它可以正常工作

我对试图连接的CRM组织具有管理员权限

这是连接到CRM的代码:

  private OrganizationServiceProxy BuildCRMServiceProxy()
     {
         var credentials = new ClientCredentials();            
         var orgConfigInfo = ServiceConfigurationFactory.CreateConfiguration<IOrganizationService>(OrganizationUri);
         return new OrganizationServiceProxy(orgConfigInfo, credentials);
     }
private OrganizationServiceProxy BuildCRMServiceProxy()
{
var credentials=new ClientCredentials();
var orgConfigInfo=ServiceConfigurationFactory.CreateConfiguration(OrganizationUri);
返回新的OrganizationServiceProxy(orgConfigInfo、凭据);
}
例外情况如下:

错误2013-08-21 09:27:47958[8]系统无效操作异常: 元数据包含无法解析的引用: “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)---内部异常堆栈跟踪的结束----at System.ServiceModel.Description.MetadataExchangeClient.MetadataRetriever.Retrieve(TimeoutHelper timeoutHelper)在 System.ServiceModel.Description.MetadataExchangeClient.ResolveNext(ResolveCallState (呼叫状态)在 System.ServiceModel.Description.MetadataExchangeClient.GetMetadata(MetadataRetriever 寻回犬)在 Microsoft.Xrm.Sdk.Client.ServiceMetadataUtility.RetrieveServiceEndpointMetadata(类型 contractType、Uri serviceUri、Boolean checkForSecondary)位于 Microsoft.Xrm.Sdk.Client.ServiceConfiguration
1..ctor(Uri serviceUri,
布尔校验(第二次)在
Microsoft.Xrm.Sdk.Client.ServiceConfiguration
1..ctor(Uri serviceUri) 在 Microsoft.Xrm.Sdk.Client.OrganizationServiceConfiguration.AdjustServiceEndpoint(Uri 服务URI)在 Microsoft.Xrm.Sdk.Client.OrganizationServiceConfiguration..ctor(Uri 服务URI)在 Microsoft.Xrm.Sdk.Client.ServiceConfigurationFactory.CreateConfiguration[TService](Uri) 服务URI)在 *.DynamicsUpdater.ServiceAgent.DynamicsAgent.BuildCRMServiceProxy()位于 **.DynamicsUpdater.ServiceAgent.DynamicsAgent.InsertEntity(字符串entityName,布尔值isRelationship,字典
2属性,Guid&
生成(d)在
******.DynamicsUpdater.BusinessLogic.CRMProcessorFactory.c_uuDisplayClass3D
1.b_uu3C(更新 更新,ICRMRepository CRM,IUpdatesRepository updatesRepo)位于 **.DynamicsUpdater.BusinessLogic.Controller.ApprovedUpdateControl.c_DisplayClass3.b_1(布尔值) wasProcessedYet,Func
4处理器)位于
System.Linq.Enumerable.Aggregate[TSource,TAccumulate](IEnumerable
1 源,t累积种子,Func
3 Func)位于
******.DynamicsUpdater.BusinessLogic.Controller.ApprovedUpdateController.Process(更新
更新)在
******.DynamicsUpdater.BusinessLogic.Controller.UpdateControllerBase.Execute(Func
1 retrieveUpdateForProcessingCallback)位于 **.DynamicsUpdater.Updater.c_DisplayClassb.b_a()



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

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

credentials.Windows.ClientCredential = new System.Net.NetworkCredential("username", "password", "domain");
我遇到了相同的问题(错误:元数据包含无法解决的引用)

但当我在VisualStudio2010的C#的Dynamic CRM节点中创建名为“new Visual Studio Solution Template for Dynamic CRM 2013”的新项目时,出现了这个错误

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

谢谢你的回答,帕特,这是在同一个领域。实际上我已经修好了。我在app.config文件中将ServiceUri错误地设置为“host/OrgName/XRMServices/2011/OrganizationDATA.svc”;但是应该是“host/OrgName/XRMServices/2011/Organization.svc”;这就解决了问题。谢谢adeel,我的ServiceUri以不同的方式被破坏,你的评论帮助解决了我的问题。@adeel是的,谢谢!完全相同的问题。我盯着那个看了太久了!