【发布时间】:2017-08-18 20:27:27
【问题描述】:
由于对 CRM 知之甚少,我们的任务是公开 CRM 2011 中的数据和其他功能。我们开发了一个 RESTful 包装器,允许其他开发人员在他们的应用程序中利用它。一些示例端点可能是:
API/v2/Accounts(someguid)
API/v2/Lead/Create {json object}
etc
此应用程序需要升级以支持动态 2016。我们启动了 2011 应用程序,并简单地将配置变量更改为指向 2016 实例。到目前为止,我们还没有做任何事情,因为就在下面的第二行之后:
var context = new XrmServiceContext(_organizationService);
var crmUser = (from systemUser in context.SystemUserSet
where systemUser.DomainName == user.DomainUserName
select systemUser).FirstOrDefault();
我收到身份验证失败异常:
从 11 升级到 16 时,这确实是一个已知的身份验证问题,还是我遗漏了什么?
【问题讨论】:
-
请分享您用于获取_organizationService 的代码,因为应该存在问题。您是否还对您的 CRM 配置(如 IFD 配置)进行了任何更改?还有 - 您用来调用 CRM 的用户是否映射为 CRM 用户?换句话说 - 您仍然可以使用该用户访问 CRM 吗?
-
在 CRM 2011 和 CRM 2016 SP1 之间进行身份验证时,服务器的响应存在细微差别,但一旦更新 DLL,您应该能够进行身份验证。如上,请分享您的代码
-
@jasonscript 更新哪些 DLL?你是说sdk吗?如果是这样,我该怎么做?
-
在连接到 CRM 的代码中,您有 Microsoft.Xrm.Sdk 等引用 dll。这些需要从您可能正在使用 atm 的 5.x 更新到版本 8.x。
-
当然,如果您正在使用 nuget 并且有一个包升级了最新的 dll、Microsoft.CrmSdk.CoreAssemblies 或类似的东西,那么它只是进行 NuGet 升级,如果包您使用的没有升级版本,那么您必须手动执行或使用具有 8.X SDK dll 的软件包
标签: c# asp.net visual-studio dynamics-crm-2011 dynamics-crm-2016