【问题标题】:What does this error mean "The 'RetrieveMultiple' method does not support entities of type" in Dynamics CRM /api/data/<version>?此错误意味着 Dynamics CRM /api/data/<version> 中的“'RetrieveMultiple' 方法不支持实体类型”是什么意思?
【发布时间】:2020-02-01 20:10:00
【问题描述】:

当我尝试执行对 GET ../api/data/&lt;version&gt;/officedocuments 和至少 10 个实体的请求时,我收到一个错误:

{"error":{"code":"0x80040800","message":"'RetrieveMultiple' 方法 不支持 'officedocument' 类型的实体。"}}

我在尝试获取特定实体记录的完整 JSON 时遇到了同样的问题

{"error":{"code":"0x80040800","message":"'Retrieve' 方法可以 不支持 'roletemplate' 类型的实体。"}}

有人可以建议我如何列出所有实体记录,例如 officedocumententity 并获得上述 roletemplate 记录的完整 JSON 吗?

【问题讨论】:

  • 错误明确指出 officedocuments 和 roletemplate 实体不支持 retreivemultiple。我建议使用 retreive 看看你会得到结果。
  • 如何使用 /api/data/v9.0 端点执行此操作?

标签: dynamics-crm dynamics-365 dynamics-crm-365 dynamics-crm-webapi


【解决方案1】:

如果它不允许/支持意味着我们不能那样做。因此,如果您需要该实体,请使用将 web api 与 fetchxml 一起使用的解决方法。

https://crmdev.crm.dynamics.com/api/data/v9.1/roletemplates?fetchXml=<fetch> <entity name="roletemplate" > <attribute name="name" /> <attribute name="roletemplateid" /> </entity> </fetch>

清除查询如下:

<fetch>
  <entity name="roletemplate" >
    <attribute name="name" />
    <attribute name="roletemplateid" />
  </entity>
</fetch>

同样,该查询的解决方法是使用ExecuteFetchRequest

//Try with IOrganizationService
      var orgService = new OrganizationService(connection);
      //Works
      var orgSvcExecuteFetchResponse = (ExecuteFetchResponse)orgService.Execute(executeFetchReq);
      //Doesn't work
      var orgSvcRetrieveMultipleResponse = orgService.RetrieveMultiple(new FetchExpression(fetch));

      //Try with CrmServiceClient:
      var crmSvcClient = new CrmServiceClient(connectionString);
      //Works
      var crmSvcExecuteFetchResponse = crmSvcClient.Execute(executeFetchReq);
      //Doesn't work
      var crmSvcRetrieveMultipleResponse = crmSvcClient.RetrieveMultiple(new FetchExpression(fetch));

List of RetrieveMultiple supported entities can be found here.

【讨论】:

    【解决方案2】:

    @Arun 的答案不再有效。现在使用fetchXml 会导致同样的错误。

    Microsoft Dynamics 365 docs 上,明确提到roletemplate 和其他一些实体仅供内部使用,不适合开发人员使用。

    【讨论】:

      猜你喜欢
      • 2012-11-29
      • 2019-07-11
      • 2014-11-26
      • 1970-01-01
      • 1970-01-01
      • 2020-01-21
      • 1970-01-01
      • 2020-08-08
      相关资源
      最近更新 更多