OrganizationService 在 RetrieveMultiple 请求期间抛出身份验证异常

OrganizationService throws authentication exception during RetrieveMultiple request

我有一个用于 CRM online 2015 的 Post|sync|sandbox|Update Message CRM 插件,除了 RetrieveMultiple 调用

外,一切正常

我创建了IOrganizationService

    public static IOrganizationService GetOrganizationServiceByCurrentUser(this IServiceProvider serviceProvider)
    {
        var serviceFactory = serviceProvider.GetService<IOrganizationServiceFactory>();
        var context = serviceProvider.GetService<IPluginExecutionContext>();
        return serviceFactory.CreateOrganizationService(context.UserId);
    }

通话后RetrieveMultiple

        Entity config = organizationService.RetrieveMultiple(new FetchExpression(CrmConstants.Query.AzureCofig))
                                           .Entities.FirstOrDefault();

出现以下错误

The authentication endpoint Username was not found on the configured Secure Token Service!

我尝试通过单元测试做同样的事情,CrmConnection 一切正常。看起来插件执行权限有问题。有什么想法吗?

如果您检索任何配置部分,您必须在系统帐户下创建 IOrganizationService,而不是用户上下文

   public static IOrganizationService GetOrganizationServiceByCurrentUser(this IServiceProvider serviceProvider)
    {
        var serviceFactory = serviceProvider.GetService<IOrganizationServiceFactory>();
        return serviceFactory.CreateOrganizationService(null);
    }