web services - create - SharePoint List.getListItems WebService para devolver los contenidos de la subcarpeta, recursivamente
sharepoint javascript rest (2)
Debe llamar recursivamente al servicio para obtener todos los elementos dentro de las subcarpetas. No hay una opción para hacerlo OOTB. En su lugar, siempre puede escribir su servicio web personalizado de SharePoint para lograr esto.
Estoy llamando al servicio web lists.asmx de CXF . La siguiente invocación no devuelve archivos de las sub carpetas de la lista. Devuelve la carpeta1, la carpeta2 y el archivo1.pdf
Shared Documents
folder1
file2.docx
file3.pdf
folder2
sub-folder1
file5.pdf
file4.pdf
file1.pdf
Llamada 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>
¿Alguna pista sobre cómo obtener archivos de la carpeta1, la carpeta3 y la subcarpeta1 incluidos en el resultado ?. Si el servicio web de Listas no puede hacerlo, ¿hay un servicio / método alternativo?
Información adicional: Hay otro servicio web, SiteData (_vti_bin/sitedata.asmx)
. Tiene un método similar (getListItems) y devuelve todos los archivos con solo el nombre de la lista y sin parámetros adicionales. El problema es que no pude averiguar cómo / dónde especificar el parámetro Paging, ya que NO hay elemento de entrada queryOptions como en las listas servicio web.
<soap1:strListName>?</soap1:strListName>
<soap1:strQuery>?</soap1:strQuery>
<soap1:strViewFields>?</soap1:strViewFields>
<soap1:uRowLimit>?</soap1:uRowLimit>
Es posible obtener los contenidos de la lista recursivamente, utilizando <ViewAttributes Scope="RecursiveAll"/>
elemento. Hay un error silly
en mi sobre de jabón. El elemento queryOptions no tiene espacio de nombres. Lo arreglé en el siguiente texto.
<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>
Por cierto, hay una gran herramienta, U2U CAML Builder para construir SharePoint CAML. Desearía haberlo encontrado hace unas semanas.