1

我连接到 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;
4

2 回答 2

1

我怀疑这可能是 Kerberos / 委托问题,以确保它尝试用 new System.Security.Net.NetworkCredentials("username","password","domain"); 替换 DefaultCredentials

看看这是否仍然给你一个 401。

这是我通常尝试查看它是否与 kerbos/安全相关的快速方法。

我需要有关您的环境的更多信息才能发表任何其他明智的评论。

希望能帮助到你。

于 2008-10-18T20:04:17.000 回答
0

就我而言(是的,我们仍然使用 CRM 4),IIS 中的网站未绑定到用于访问端口 5555 上的元数据服务的主机名。

于 2016-09-15T23:09:36.930 回答