簡體   English   中英

Dynamics CRM 2011 SOAP RetrieveMultiple查詢忽略標准

[英]Dynamics CRM 2011 SOAP RetrieveMultiple query ignoring criteria

我使用PHP和SOAP連接到Dynamics CRM 2011 Online並遇到了一個問題。 以下RetrieveMultiple忽略我的條件並返回所有記錄。

我想要的是任何以'test@test.com'作為他們的電子郵件地址的聯系人。

有人可以告訴我下面的條件/條件有什么問題嗎?

謝謝!

<RetrieveMultiple xmlns="http://schemas.microsoft.com/xrm/2011/Contracts/Services">
   <query xmlns:b="http://schemas.microsoft.com/xrm/2011/Contracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" i:type="b:QueryExpression">
      <b:ColumnSet>
         <b:AllColumns>false</b:AllColumns>
         <b:Columns xmlns:c="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <c:string>firstname</c:string>
         </b:Columns>
      </b:ColumnSet>
      <b:Criteria>
         <b:Conditions>
            <b:Condition>
               <b:AttributeName>emailaddress1</b:AttributeName>
               <b:Operator>Equal</b:Operator>
               <b:Values>
                  <b:Value i:type="xsd:string">test@test.com</b:Value>
               </b:Values>
            </b:Condition>
         </b:Conditions>
         <b:FilterOperator>And</b:FilterOperator>
         <b:Filters />
      </b:Criteria>
      <b:Distinct>false</b:Distinct>
      <b:EntityName>contact</b:EntityName>
      <b:LinkEntities />
      <b:PageInfo>
         <b:Count>250</b:Count>
         <b:PageNumber>1</b:PageNumber>
         <b:PagingCookie i:nil="true" />
         <b:ReturnTotalRecordCount>false</b:ReturnTotalRecordCount>
      </b:PageInfo>
   </query>
</RetrieveMultiple>

嘗試使用以下SOAP格式:

    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <Execute xmlns="http://schemas.microsoft.com/xrm/2011/Contracts/Services" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
      <request i:type="a:RetrieveMultipleRequest" xmlns:a="http://schemas.microsoft.com/xrm/2011/Contracts">
        <a:Parameters xmlns:b="http://schemas.datacontract.org/2004/07/System.Collections.Generic">
          <a:KeyValuePairOfstringanyType>
            <b:key>Query</b:key>
            <b:value i:type="a:QueryExpression">
              <a:ColumnSet>
                <a:AllColumns>false</a:AllColumns>
                <a:Columns xmlns:c="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
                  <c:string>firstname</c:string>
                </a:Columns>
              </a:ColumnSet>
              <a:Criteria>
                <a:Conditions>
                  <a:ConditionExpression>
                    <a:AttributeName>emailaddress1</a:AttributeName>
                    <a:Operator>Equal</a:Operator>
                    <a:Values xmlns:c="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
                      <c:anyType i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">abc@a.com</c:anyType>
                    </a:Values>
                  </a:ConditionExpression>
                </a:Conditions>
                <a:FilterOperator>And</a:FilterOperator>
                <a:Filters />
                <a:IsQuickFindFilter>false</a:IsQuickFindFilter>
              </a:Criteria>
              <a:Distinct>false</a:Distinct>
              <a:EntityName>contact</a:EntityName>
              <a:LinkEntities />
              <a:Orders />
              <a:PageInfo>
                <a:Count>0</a:Count>
                <a:PageNumber>0</a:PageNumber>
                <a:PagingCookie i:nil="true" />
                <a:ReturnTotalRecordCount>false</a:ReturnTotalRecordCount>
              </a:PageInfo>
              <a:NoLock>false</a:NoLock>
            </b:value>
          </a:KeyValuePairOfstringanyType>
        </a:Parameters>
        <a:RequestId i:nil="true" />
        <a:RequestName>RetrieveMultiple</a:RequestName>
      </request>
    </Execute>
  </s:Body>
        </s:Envelope>

BTW。 您可以使用位於SDK \\ samplecode \\ cs \\ client \\ soaplogger中的SOAPLogger來獲取正確的SOAP表達式。

上面的查詢有一些問題。 (特別是我的一些別名混淆了)。 正如Jeff Xiong所建議的那樣,SOAPLogger幫助了我。

標准也不正確。 下面的工作肥皂:

<RetrieveMultiple xmlns="http://schemas.microsoft.com/xrm/2011/Contracts/Services" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
   <query xmlns:b="http://schemas.microsoft.com/xrm/2011/Contracts" i:type="b:QueryExpression">
      <b:ColumnSet>
         <b:AllColumns>false</b:AllColumns>
         <b:Columns xmlns:c="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <c:string>firstname</c:string>
            <c:string>emailaddress1</c:string>
         </b:Columns>
      </b:ColumnSet>
      <b:Criteria>
         <b:Conditions>
            <b:ConditionExpression>
               <b:AttributeName>emailaddress1</b:AttributeName>
               <b:Operator>Equal</b:Operator>
               <b:Values xmlns:c="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
                  <c:anyType xmlns:d="http://www.w3.org/2001/XMLSchema" i:type="d:string">test@test.com</c:anyType>
               </b:Values>
            </b:ConditionExpression>
         </b:Conditions>
         <b:FilterOperator>And</b:FilterOperator>
         <b:Filters />
      </b:Criteria>
      <b:Distinct>false</b:Distinct>
      <b:EntityName>contact</b:EntityName>
      <b:LinkEntities />
      <b:PageInfo>
         <b:Count>250</b:Count>
         <b:PageNumber>1</b:PageNumber>
         <b:PagingCookie i:nil="true" />
         <b:ReturnTotalRecordCount>false</b:ReturnTotalRecordCount>
      </b:PageInfo>
   </query>
</RetrieveMultiple>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM