Web services SharePoint List.getListItems WebService以递归方式返回子文件夹内容
我正在从呼叫lists.asmx webservice。 以下soap调用不会从列表子文件夹返回文件。它返回folder1、folder2和file1.pdfWeb services SharePoint List.getListItems WebService以递归方式返回子文件夹内容,web-services,sharepoint,sharepoint-2010,sharepoint-api,Web Services,Sharepoint,Sharepoint 2010,Sharepoint Api,我正在从呼叫lists.asmx webservice。 以下soap调用不会从列表子文件夹返回文件。它返回folder1、folder2和file1.pdf Shared Documents folder1 file2.docx file3.pdf folder2 sub-folder1 file5.pdf file4.pdf file1.pdf SOAP呼叫 POST /_vti_bin/lists.asmx HTTP/1
Shared Documents
folder1
file2.docx
file3.pdf
folder2
sub-folder1
file5.pdf
file4.pdf
file1.pdf
SOAP呼叫
POST /_vti_bin/lists.asmx HTTP/1.1 Accept-Encoding: gzip,deflate
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:soap1="http://schemas.microsoft.com/sharepoint/soap/">
<soap:Header/>
<soap:Body>
<soap1:GetListItems>
<soap1:listName>Shared Documents</soap1:listName>
<queryOptions>
<QueryOptions>
<IncludeMandatoryColumns>TRUE</IncludeMandatoryColumns>
<ViewAttributes Scope="RecursiveAll"/>
<DateInUtc>TRUE</DateInUtc>
</QueryOptions>
</queryOptions>
</soap1:GetListItems>
</soap:Body>
</soap:Envelope>
您必须递归调用服务以获取子文件夹中的所有项目。我不知道有没有一个选择去做。相反,您始终可以编写自定义SharePoint web服务来完成此任务
可以使用
elment递归获取列表内容。
我的soap信封里有一个愚蠢的错误。queryOptions元素没有命名空间。我修正了下面的文字
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:soap1="http://schemas.microsoft.com/sharepoint/soap/">
<soap:Header/>
<soap:Body>
<soap1:GetListItems>
<soap1:listName>Shared Documents</soap1:listName>
<**soap1:**queryOptions>
<QueryOptions>
<IncludeMandatoryColumns>TRUE</IncludeMandatoryColumns>
<ViewAttributes Scope="RecursiveAll"/>
<DateInUtc>TRUE</DateInUtc>
</QueryOptions>
</**soap1:**queryOptions>
</soap1:GetListItems>
</soap:Body>
</soap:Envelope>
共享文档
真的
真的
顺便说一句,有一个伟大的工具,建立SharePoint CAML。我希望我能在几周前找到它。谢谢。问题在上面的soap信封中。当我添加soap1:lines时,我得到了响应代码:400,响应消息:错误的请求。。我遗漏了什么吗?我试着用同样的请求获取给定列表中的所有文件夹和文件。但它只给了我顶级的文件和文件夹。有什么建议吗
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:soap1="http://schemas.microsoft.com/sharepoint/soap/">
<soap:Header/>
<soap:Body>
<soap1:GetListItems>
<soap1:listName>Shared Documents</soap1:listName>
<**soap1:**queryOptions>
<QueryOptions>
<IncludeMandatoryColumns>TRUE</IncludeMandatoryColumns>
<ViewAttributes Scope="RecursiveAll"/>
<DateInUtc>TRUE</DateInUtc>
</QueryOptions>
</**soap1:**queryOptions>
</soap1:GetListItems>
</soap:Body>
</soap:Envelope>