0

我是 SharePoint Web 服务的新手。我正在使用 PHP 将此请求发送到我的 SharePoint 服务器,但我的查询部分被完全忽略

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://schemas.microsoft.com/sharepoint/soap/">
  <SOAP-ENV:Body>
    <ns1:GetListItems>
      <ns1:listName>Customers</ns1:listName>
      <ns1:query>
        <Query>
          <Where>
            <Eq>
              <FieldRef Name="ows_EMail" />
              <Value Type="Text">aaa@ddd.com</Value>
            </Eq>
          </Where>
        </Query>
      </ns1:query>
      <ns1:rowLimit>150</ns1:rowLimit>
    </ns1:GetListItems>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

我尝试了很多在论坛上找到的建议,但没有任何效果。谁能帮忙。

4

1 回答 1

1

看起来您缺少一个查询节点(注意小写字母),它是查询节点的父节点。这是一个例子:

    <soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>
  <soap:Body>
    <GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'>
      <listName>OpportunitiesAdmins</listName>
      <viewName></viewName>
      <query>
        <Query>
          <Where>
            <Eq>
              <FieldRef Name='AdminName' />
              <Value Type='User'>Welch, Jeff (UBC)</Value>
            </Eq>
          </Where>
        </Query>
      </query>
      <viewFields></viewFields>
      <rowLimit>0</rowLimit>
      <queryOptions>
        <QueryOptions></QueryOptions>
      </queryOptions>
    </GetListItems>
  </soap:Body>
</soap:Envelope>
于 2013-01-24T15:40:16.370 回答