2012-08-02 48 views
1

我正在使用SOAP API for Microsoft Dynamics CRM 4.0,並且大多數情況下一切正常,但是當我嘗試計算數據庫中的總聯繫人數(或對於特定的查詢),它不符合TotalRecordCount = true標誌。Microsoft Dynamics SOAP RetrieveMultiple不返回TotalRecordCount

下面是我使用的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> 

但響應說我找回仍然包含以下內容:

TotalRecordCount="-1" TotalRecordCountLimitExceeded="0" 

任何想法,我在做什麼錯在這裏?

回答

0

在查詢中是否有任何結果?例如。你是否收到聯繫記錄?

我很確定我以前遇到過這種方法的問題(使用分頁信息來計算)。

在任何情況下,如果使用聚合函數(假設您使用JavaScript執行此Soap)執行FetchXml查詢,您可能會有更好的運氣。

傑米麥莉對如何做一個很好的例子:http://mileyja.blogspot.co.uk/2011/06/aggregation-count-max-min-etc-and.html

有一個很好的設計師FetchXml這裏:http://www.stunnware.com/