我们构建了一个数据迁移包,可将数据从旧 Access 数据库迁移到 CRM 在线实例。我们的客户有一个非常复杂的身份验证平台,因此我们不得不使用客户 ID和客户密码方法来验证他们的 CRM。
数据集成在第一个小时内运行良好,但随后我们突然遇到以下错误。从我们看到的情况来看,身份验证令牌似乎已过期,而金汇软件并未自动刷新它。请注意,我们没有收到个别操作的超时 - 由于超时,整个作业将在一小时后停止。
[数据流任务#1] 警告:处理服务请求时发生异常,60 秒后将再次尝试相同的请求。KingswaySoft.IntegrationToolkit.DynamicsCrm.CrmServiceException:CRM 服务调用返回错误:HTTP 请求未经授权,客户端身份验证方案为“匿名”。从服务器收到的身份验证标头是 'Bearer authorization_uri= https://login.microsoftonline.com/db630ef6-1667-4b9b-b52e-341a723742d7/oauth2/authorize , resource_id= https://myorg.crm6.dynamics.com/ '。
我们已经使用 fiddler 检查了通过集成发送的数据包,我们可以确认正在向 Microsoft 服务器发出新的身份验证请求,并且作为该请求的一部分返回了一个新令牌,但是对 CRM 的请求仍然存在使用旧令牌。
身份验证请求在每个失败的请求之前立即发生,因此 Kingswaysoft 似乎已确定需要重新进行身份验证,但它没有使用正在返回的新令牌。
在使用客户端 ID/客户端密码进行身份验证时,我们可以做些什么来解决这个问题,或者这是 Kingswaysoft 的 Dynamics 连接器的错误/已知问题?