so_*_*_mv 10 sharepoint web-services sharepoint-api sharepoint-2010
我从CXF调用lists.asmx webservice .以下soap调用不会返回列表子文件夹中的文件.它返回folder1,folder2和file1.pdf
Shared Documents
folder1
file2.docx
file3.pdf
folder2
sub-folder1
file5.pdf
file4.pdf
file1.pdf
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
有关如何从结果中包含的folder1,folder3和sub-folder1中获取文件的任何线索?如果列表Web服务无法做到,是否有替代服务/方法?
附加信息:
还有另一个Web服务,SiteData (_vti_bin/sitedata.asmx).它有一个类似的方法(getListItems)并返回所有文件只有列表名称而没有其他参数.问题是我无法弄清楚如何/在何处指定Paging参数,因为列表中没有任何queryOptions输入元素网络服务.
<soap1:strListName>?</soap1:strListName>
<soap1:strQuery>?</soap1:strQuery>
<soap1:strViewFields>?</soap1:strViewFields>
<soap1:uRowLimit>?</soap1:uRowLimit>
Run Code Online (Sandbox Code Playgroud)
so_*_*_mv 14
可以使用<ViewAttributes Scope="RecursiveAll"/>elment以递归方式获取列表内容.silly我的肥皂袋里有一个错误.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>
Run Code Online (Sandbox Code Playgroud)
顺便说一句,有一个很棒的工具,U2U CAML Builder来构建SharePoint CAML.我希望几个星期前我找到了.
| 归档时间: |
|
| 查看次数: |
18627 次 |
| 最近记录: |