2013-04-05 35 views
3

我正在寫一個Java應用程序,它必須報告SharePoint 2007上的文檔庫中的所有可用文件。該應用程序使用java sharepoint來自korecky的圖書館(Project Home)。一切正常,但除了幾個文件信息之外,我沒有得到文件大小。如何通過使用Java的webservices檢索sharepoint中的文檔庫中的文件的大小

具體而言,將請求發送到調用GetListItems方法的List.asmx webservice。

請求如下所示:

<QueryOptions> 
    <ViewAttributes IncludeRootFolder="True" Scope="RecursiveAll"/> 
    <IncludeMandatoryColumns> 
     TRUE 
    </IncludeMandatoryColumns> 
    <DateInUtc> 
     TRUE 
    </DateInUtc> 
</QueryOptions> 

根據來自web服務的響應幾個論壇應該有一個名爲ows_File_x0020_Size可用的區域應該包含代表文件的大小int,但它是失蹤。有人知道如何修改請求以獲得文件大小嗎?

+0

您是否設置了ViewFields? – Chloraphil 2013-04-05 14:49:27

回答

3

您需要說明您想要調用的字段(位於ViewFields中)。最終的請求應該如下所示:

<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>My Documents List</listName> 
     <viewName></viewName> 
     <query><Query></Query></query> 
     <viewFields> 
     <ViewFields Properties="True"> 
      <FieldRef Name="FileLeafRef"></FieldRef> 
      <FieldRef Name="File_x0020_Size"></FieldRef> 
     </ViewFields> 
     </viewFields> 
     <rowLimit>0</rowLimit> 
     <queryOptions> 
     <QueryOptions> 
      <DateInUtc>True</DateInUtc> 
      <Paging ListItemCollectionPositionNext=""></Paging> 
      <ViewAttributes Scope="Recursive"></ViewAttributes> 
      <IncludeAttachmentUrls>True</IncludeAttachmentUrls> 
      <IncludeMandatoryColumns>False</IncludeMandatoryColumns> 
      <ExpandUserField>False</ExpandUserField> 
     </QueryOptions> 
     </queryOptions> 
    </GetListItems> 
    </soap:Body> 
</soap:Envelope> 
相關問題