我正在连接到CRM,目的是检索选项列表值列表。在我的开发机器上,我使用自己的登录名工作,一切正常。在测试服务器上,代码在NETWORK SERVICE帐户下执行。当它连接到CRM Web服务时,一切都很棒。当它连接到元数据服务时,我收到401 Unauthorized消息。
这是我第一次使用元数据服务,所以我希望有人能告诉我为什么会收到错误。使用下面的代码配置连接,当您尝试检索选项列表数据时发生故障。
CrmAuthenticationToken token = new CrmAuthenticationToken();
token.OrganizationName = config.AppSettings.Settings["CrmTargetOrganisation"].Value;
token.AuthenticationType = 0;
MetadataService service = new MetadataService();
service.Credentials = System.Net.CredentialCache.DefaultCredentials;
service.Url = config.AppSettings.Settings["CrmMetadataServiceUrl"].Value;
service.CrmAuthenticationTokenValue = token;
service.UnsafeAuthenticatedConnectionSharing = true;
答案 0 :(得分:1)
我怀疑它可能是Kerberos /委派问题,以确保它尝试替换DefaultCredentials 新的System.Security.Net.NetworkCredentials(“用户名”,“密码”,“域名”);
看看是否还能给你401。
这是我通常尝试查看是否与kerbos /安全相关的快速方法。
我需要更多关于您的环境的信息才能做出任何其他智能评论。
希望它有所帮助。
答案 1 :(得分:0)
就我而言(是的,我们仍然使用CRM 4),IIS中的网站没有绑定到用于访问端口5555上的元数据服务的主机名。