此错误在 Dynamics CRM /api/data/ 中"The 'RetrieveMultiple' method does not support entities of type"意味着



当我尝试执行对GET ../api/data/<version>/officedocuments和至少 10 个实体的请求时,出现错误:

{">

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

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

{">

error":{"code":"0x80040800","message":"'检索'方法执行 不支持类型为"角色模板"的实体。

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

如果不允许/支持意味着我们不能那样做。因此,如果您需要该实体,请使用将 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));

检索列表多个支持的实体可以在这里找到。

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

在 Dynamics 365 文档中Microsoft,明确提到roletemplate和一堆其他实体仅供内部使用,不供开发人员使用。

相关内容

最新更新