使用Web API Dynamics 365执行获取XML

时间:2016-12-21 12:24:36

标签: api web dynamics-crm microsoft-dynamics fetchxml

我正在使用this方法在Web API中使用Fetch XML进行分页。

当我们使用简单的提取时,Web API工作正常,如果有更多记录,它会返回pagging cookie以及结果,但是当我们使用complex时(我们有链接实体)Fetch XML它会返回分页cookie但是为空,例如:

<b><cookie pagenumber="2" pagingcookie="" istracking="False" /></b>

在这里你可以看到我们在pagingcookie中什么也没有 获取用于查询的XML:

  <fetch mapping="logical" version="1.0" output-format="xml-platform" count="10" page="1" >
  <entity name="invoicedetail" >
  <attribute name="invoicedetailid" />
  <attribute name="uomid" />
  <attribute name="quantity" />
  <attribute name="manualdiscountamount" /> 
  <attribute name="priceperunit" />
  <attribute name="extendedamount" />
  <filter>
  <condition  entityname="invoice" attribute="customerid" operator="eq"    value="{5A8F8B46-2443-E511-80E3-3863BB351E10}" />
  </filter>
  <link-entity name="invoice" from="invoiceid" to="invoiceid" >
  <attribute name="invoiceid" />
  <attribute name="invoicenumber" />
  <attribute name="description" />
  <attribute name="totalamount" />
  <order attribute="ss_postingdate" descending="true" />
  </link-entity>
  </entity>
  </fetch>

如果我们删除链接实体,它会开始在响应中提供可以使用@Microsoft.Dynamics.CRM.fetchxmlpagingcookie获取的确切分页cookie。

有没有办法在复杂的场景中获得准确的分页cookie?

1 个答案:

答案 0 :(得分:3)

我之前在标准组织服务中看到过这种情况。我建议只使用分页cookie进行分页 - 这解决了我在组织服务中的问题。

E.g。 <fetch mapping="logical" page="1" count="50">