Am făcut unele de cercetare pentru cineva astăzi în jurul web list.asmx serviciului furnizat ca parte din SharePoint 2010 (şi mai devreme). Ea a fost în măsură pentru a obţine elementele de listă la folderul rădăcină (inclusiv numele subfolderelor), dar nu a putut obţine elemente în sub-pliant. Am făcut unele privire around pe Internet şi este o chestiune de surprinzător de comune. Încă, Nu am putut ajunge un răspuns bun la întrebarea simplă, "dacă ştiu folderul, cum a face I a lua elementele în folderul?” Pentru a fi sincer, Nu încerc toate că greu deoarece mi-am dorit pentru a figura acest una pe propria mea pentru un timp .
Pentru a parametriza acest lucru, Am creat un site numit "Blogging-ul scenarii" şi o listă particularizată numit "Lista cu Sub foldere personalizate". Apoi am creat foldere numit:
- An 2005
- An 2006
- An 2007
Am adăugat câteva elemente în folderul "Anul 2006". Aceasta este ceea ce pare ca:
Prietenul meu nu este scris în C# cod, dar mai degrabă folosire Java, Deci plicul SĂPUN a fost ceea ce ea într-adevăr nevoie. Pentru a obţine că, Am scris un pic jQuery şi apoi folosite Scripcarul pentru a obţine conversaţie reale HTTP.
Aici este jQuery relevante (Am copiat codul în jos mai jos dacă doriţi să copiaţi/lipiţi):
Au prima cheie este de a include atât un <queryOptions> şi <QueryOptions> nod. A doua cheie este că <Folder> nodul este un URL la care clientul are acces.
Pot exista alte modalităţi de a obţine acest lucru, dar aceasta a lucrat bine pentru mine când folosind jQuery.
Aici este plicul SĂPUN pentru cele de mai sus:
<soapenv:Plic xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/envelope/’>
<soapenv:Organism>
<GetListItems xmlns =’http://schemas.Microsoft.com/SharePoint/SOAP/’>
<listName>Lista particularizată cu subdosarele</listName>
<viewFields>
<ViewFields>
<Numele FieldRef =' titlu’ />
<Numele FieldRef ='EncodedAbsUrl’ />
</ViewFields>
</viewFields>
<queryOptions>
<QueryOptions>
<Folder>http://demoserver1/blogging-ul Scenarii/liste/particularizat lista cu Sub foldere/anul 2006</Folder>
</QueryOptions>
</queryOptions>
</GetListItems>
</soapenv:Organism>
</soapenv:Plic>
O mulţime de exemple şi discuţii în jurul acest lucru a condus-mi să cred că tot ce am nevoie a fost <QueryOptions> şi specificaţi un nume de folder. Pentru mine, I nevoie atât wrap-o în interiorul <queryOptions> precum şi specificaţi un URL-ul complet pentru <Folder> nod.
Iată de configurare de AJAX jQuery:
$(document).gata(funcţia() {
var soapEnv =
"<soapenv:Plic xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/envelope/’> \
<soapenv:Organism> \
<GetListItems xmlns =’http://schemas.Microsoft.com/SharePoint/SOAP/’> \
<listName>Lista particularizată cu subdosarele</listName> \
<viewFields> \
<ViewFields> \
<Numele FieldRef =' titlu’ /> \
<Numele FieldRef ='EncodedAbsUrl’ /> \
</ViewFields> \
</viewFields> \
<queryOptions> \
<QueryOptions> \
<Folder>http://demoserver1/Blogging Scenarii/liste/particularizat lista cu Sub foldere/anul 2006</Folder> \
</QueryOptions> \
</queryOptions> \
</GetListItems> \
</soapenv:Organism> \
</soapenv:Plic>";
</scop>
Urmaţi-mă pe Twitter, la http://www.twitter.com/pagalvin
salut
Am încercat pentru a afişa documente sub un anumit folder utilizând SPD 2010 Sursa de date GetListItems
După ce am conecta la serviciul meu de web şi introduceţi GUID-ul pentru biblioteca de documente
Pot modifica QueryOptions şi introduceţi următoarea bucată de florin
Respectarea TrainingCompanyX.
Numai acest lucru nu a returnat niciun rezultat – eliminarea parametrul QueryOptions returnează toate documentele din biblioteca de documente rădăcină….
Sunt eu uita la unele trece un fel de Vezi parametrul şi includ GUID-ul Vezi.
Acesta este un foarte vechi post/comentariu atât de rău pentru a nu răspunde. Presupun că lung deoarece dat seama cum să procedaţi.
Bun articol! mulţumesc.
De asemenea, utilizaţi opţiunea RecursiveAll a traversa automat în structura de foldere (la nivelul rădăcină).
ok, se pare ca a deposedat afară xml… doar înlocuiţi Liră semnele de mai jos cu ghilimele unghiulare.
#queryOptions #
#QueryOptions #
#ViewAttributes de aplicare = "RecursiveAll" / #
#/QueryOptions #
#/queryOptions #
Mulţumiri un buchet pentru acest post, Paul. Am fost încercarea de a consuma GetListItems prin intermediul ColdFusion cfhttp, şi nu ar putea obţine dreptul de plic. În cele din urmă a venit peste acest post, şi dumneavoastră exemplu lucrat impecabil. Multumesc din nou.
BTW – stii de o resursă care listează toate plicurile buna săpun? Unul pentru GetList articole publicate pe microsoft.com nu meci tu esti aici…