【问题标题】:Encoding page cookie within fetchxml inside a SOAP call to MS CRM 2013 on-demand在对 MS CRM 2013 的按需 SOAP 调用中的 fetchxml 中编码页面 cookie
【发布时间】:2014-03-14 18:27:50
【问题描述】:

我正在使用一个只能使用简单的 javascript 和 SOAP 与 Dynamics 对话的软件程序。只能在 E4X 中处理响应。到目前为止我做得很好,但现在我很难过。当将 SOAP 发送到包含 FetchXML 的 CRM 时,我需要在 SOAP 主体的其余部分中对 FetchXML 进行编码,这很好。但是,如果由于 5000 行的限制,我想移动到下一页,我必须使用一个也需要编码的页面 cookie。我只是无法使语法正确。有没有人遇到过这种问题?谁能告诉我在整个 SOAP 调用的 FetchMXL 部分中正确编码的页面 cookie 的有效 SOAP 调用是什么样的?

【问题讨论】:

  • 这里是返回首页的代码
  • sFetchXML=' '+ ' '+ ' '+ ' '+ ' '+ ' '+ ' '+ ']]>'
  • 但是无论我尝试放入页面cookie 中的任何内容都失败了。 cookie 看起来像 .因此,如果我尝试用 " 替换“它会失败,并且如果我尝试用 > 替换所有 xml,< 它会出错:尝试在任何高页面上检索一组记录时需要分页 cookie。

标签: javascript soap dynamics-crm-2011


【解决方案1】:

您是否在 FetchXML 中指定“页面”?

<fetch version='1.0' mapping='logical' count='5' page='2'>
    <entity name='way_target'>
        <all-attributes />
    </entity>
</fetch>

首先,您甚至可能不需要指定分页 cookie。尝试在没有分页 cookie 的情况下请求第 2 页。在上面的示例中,分页工作正常,添加分页 cookie 不会改变我的回报(即使我想要它)。

无论如何,您的分页 cookie 应该在您的第一个页面请求时返回。第 1 页不应发送 pagingCookie 值,但如果记录超过 5,000 条,则将返回 pagingCookie。你应该以你收到它的相同格式发回这个分页cookie。

这是一个示例响应:

&lt;cookie page="1"&gt;&lt;way_target last="{8A3461CA-91AC-E011-8E1B-005056B37E8A}" first="{6C034728-00F2-E111-A489-0050569D0006}" /&gt;&lt;/cookie&gt;

在我的 Fetch 调用中:

<fetch version='1.0' mapping='logical' count='5' page='2' PagingCookie='&lt;cookie page="1"&gt;&lt;way_target last="{6C034728-00F2-E111-A489-0050569D0006}" first="{6C034728-00F2-E111-A489-0050569D0006}" /&gt;&lt;/cookie&gt;'>
    <entity name='way_target'>
        <all-attributes />
    </entity>
</fetch>

【讨论】:

  • 嗨,保罗,是的,我已经添加了一个示例
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-28
  • 1970-01-01
  • 2018-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-24
相关资源
最近更新 更多