Microsoft Dynamics SOAP RetrieveMultiple未返回TotalRecordCount

Microsoft Dynamics SOAP RetrieveMultiple未返回TotalRecordCount,soap,dynamics-crm,dynamics-crm-4,Soap,Dynamics Crm,Dynamics Crm 4,我正在使用适用于Microsoft Dynamics CRM 4.0的SOAP API,大部分情况下一切正常,但当我试图计算数据库中的联系人总数(或特定查询)时,它不考虑TotalRecordCount=true标志 下面是我正在使用的SOAP请求: <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:

我正在使用适用于Microsoft Dynamics CRM 4.0的SOAP API,大部分情况下一切正常,但当我试图计算数据库中的联系人总数(或特定查询)时,它不考虑TotalRecordCount=true标志

下面是我正在使用的SOAP请求:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Header>
        <CrmAuthenticationToken xmlns="http://schemas.microsoft.com/crm/2007/WebServices">
            ...
        </CrmAuthenticationToken>
    </soap:Header>

    <soap:Body>
        <RetrieveMultiple xmlns="http://schemas.microsoft.com/crm/2007/WebServices">
            <query xmlns:q1="http://schemas.microsoft.com/crm/2006/Query" xsi:type="q1:QueryExpression">
                <q1:EntityName>contact</q1:EntityName>
                <q1:Distinct>true</q1:Distinct>
                <q1:PageInfo>
                    <q1:ReturnTotalRecordCount>true</q1:ReturnTotalRecordCount>
                    <q1:PageNumber>1</q1:PageNumber>
                    <q1:Count>1</q1:Count>
                </q1:PageInfo>
            </query>
        </RetrieveMultiple>
    </soap:Body>
</soap:Envelope>

你知道我做错了什么吗?

你的查询有结果吗?你收到联系记录了吗

我很确定我在过去遇到过这种方法的问题(使用分页信息获取计数)

在任何情况下,使用聚合函数生成FetchXml查询(我假设您是从JavaScript执行此Soap的),您可能会有更好的运气

杰米·麦莉有一个很好的例子来说明如何做到这一点:

这里有一个非常好的FetchXml设计器:

TotalRecordCount="-1" TotalRecordCountLimitExceeded="0"