2012-01-11 44 views
3

我正在嘗試討論所有來自Sharepoint Web服務的回覆,但似乎只能獲取根郵件而不是任何回覆。以下是soap XML。我錯過了什麼?SharePoint Web服務團隊討論和回覆

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.microsoft.com/sharepoint/soap/"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <soap:GetListItems> 
     <!--Optional:--> 
     <soap:listName>Team Discussion</soap:listName> 

     <soap:viewFields> 
       <ViewFields> 
      <FieldRef Name='Title'/> 
      <FieldRef Name='ItemChildCount'/> 
      <FieldRef Name='Body'/> 
     </ViewFields> 
     </soap:viewFields> 
     <soap:queryOptions> 
     <QueryOptions> 
      <Folder> 
     "http://Lists/Team Discussion/Bite Me" 
     </Folder> 
     </QueryOptions> 
     </soap:queryOptions> 

     </soap:GetListItems> 
    </soapenv:Body> 
</soapenv:Envelope> 

回答是:

<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:Body> 
     <GetListItemsResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/"> 
     <GetListItemsResult> 
      <listitems xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema"> 
       <rs:data ItemCount="2"> 
        <z:row ows_Title="Hello" ows_ItemChildCount="3;#1" ows_Body="&lt;div class=&quot;ExternalClass7B4989B3DC264716AD81B9CE55FD38FA&quot;>&lt;p>​The text of the message&lt;/p>&lt;/div>" ows_MetaInfo="3;#" ows__ModerationStatus="0" ows__Level="1" ows_ID="3" ows_UniqueId="3;#{6AF6D7DA-0D87-45EC-B002-AA0D153B6286}" ows_owshiddenversion="1" ows_FSObjType="3;#1" ows_Created="2012-01-11 12:21:26" ows_PermMask="0x7fffffffffffffff" ows_Modified="2012-01-11 12:21:26" ows_FileRef="3;#Lists/Team Discussion/Hello"/> 
        <z:row ows_Title="Bite Me" ows_ItemChildCount="1;#1" ows_Body="&lt;div class=&quot;ExternalClass76A3DB4368714038B6B75DB0D807240B&quot;>&lt;p>​Really?&lt;/p>&lt;/div>" ows_MetaInfo="1;#" ows__ModerationStatus="0" ows__Level="1" ows_ID="1" ows_UniqueId="1;#{336518DC-B806-4DFB-9483-AB8DBB6258B6}" ows_owshiddenversion="1" ows_FSObjType="1;#1" ows_Created="2012-01-09 14:16:29" ows_PermMask="0x7fffffffffffffff" ows_Modified="2012-01-09 14:16:29" ows_FileRef="1;#Lists/Team Discussion/Bite Me"/> 
       </rs:data> 
      </listitems> 
     </GetListItemsResult> 
     </GetListItemsResponse> 
    </soap:Body> 
</soap:Envelope> 

編輯:每個上述職位的也應該有一個答覆。

+0

這是哪個版本的SharePoint? – 2012-01-26 23:15:05

+0

我正在與2010年atm沒有嘗試過2007年,但將需要在某個階段 – eaglestorm 2012-01-27 00:24:05

回答

3

訪問SharePoint的討論板我終於找到神奇的查詢。看來子文件夾只會在您添加基於日期的查詢時返回,即此soap請求有效。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.microsoft.com/sharepoint/soap/"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <soap:GetListItems> 
     <!--Optional:--> 
     <soap:listName>969E0130-5727-4E7D-A908-B3A5BC447E24</soap:listName> 

     <soap:viewFields> 
       <ViewFields> 
      <FieldRef Name='Title'/> 
      <FieldRef Name='Created'/> 
      <FieldRef Name='Author'/> 
      <FieldRef Name='Body'/> 
     </ViewFields> 
     </soap:viewFields> 

     <soap:query> 
      <Query> 
     <Where> 
      <Geq> 
       <FieldRef Name='Created' /> 
       <Value Type='DateTime'>2010-08-20T14:00:00</Value> 
      </Geq> 
     </Where> 
     <OrderBy><FieldRef Name='ThreadIndex' Ascending='true' /></OrderBy> 
     </Query> 
     </soap:query> 

    <soap:queryOptions> 
      <QueryOptions> 
     <ViewAttributes Scope="RecursiveAll" IncludeRootFolder="False" /> 
     </QueryOptions> 
     </soap:queryOptions> 
     </soap:GetListItems> 
    </soapenv:Body> 
</soapenv:Envelope> 

基本部分是帶有日期和查詢選項的查詢元素來指定查詢是遞歸的。

imho不應該需要查詢,因爲它應該默認返回所有內容。

其他文章中列出的文件夾選項對我沒有任何影響。

相關問題