我正在使用一个只能使用简单的javascript和SOAP与Dynamics交谈的软件程序。响应只能在E4X中处理。到目前为止我做得很好,但现在我很难过。当将SOAP发送到包含FetchXML的CRM时,我需要在SOAP Body的其余部分内对FetchXML进行编码,这很好。但是如果我想转到下一页因为5000行限制我必须使用页面cookie,这也需要编码。我只是无法正确的语法。有人有过这种问题吗?任何人都可以向我展示在整个SOAP调用的FetchMXL部分内正确编码的页面cookie,vaild SOAP调用是什么样的吗?
答案 0 :(得分:0)
您是否在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。
以下是一个示例回复:
<cookie page="1"><way_target last="{8A3461CA-91AC-E011-8E1B-005056B37E8A}" first="{6C034728-00F2-E111-A489-0050569D0006}" /></cookie>
这是我的Fetch电话:
<fetch version='1.0' mapping='logical' count='5' page='2' PagingCookie='<cookie page="1"><way_target last="{6C034728-00F2-E111-A489-0050569D0006}" first="{6C034728-00F2-E111-A489-0050569D0006}" /></cookie>'>
<entity name='way_target'>
<all-attributes />
</entity>
</fetch>