Sam bio događaj neki istraživanje za nekoga danas oko uslugu list.asmx web predviđeno kao dio sustava SharePoint 2010 (i ranije). Ona je bila u mogućnosti da biste dobili stavke popisa na korijensku mapu (uključujući imena pod-mape), , ali nije mogao dobiti stavke u pod-mape. Ja sam neki obličje okolo na internets i to je iznenađujuće zajedničko pitanje. Još, Nisam mogao dobiti dobar odgovor na jednostavno pitanje, "Ako znam mapu, kako mogu dobiti stavke u mapi?" Da budem iskren, Nisam pokušati sve što je teško jer sam želio shvatiti ovaj na moj posjedovati neko vrijeme .
Da biste postavili ovo gore, I stvorio je mjesto pod nazivom "Blogovi" Scenariji i prilagođeni popis pod nazivom "Custom Popis s podmape". Tada sam stvorio mape pod nazivom:
- Godina 2005
- Godina 2006
- Godina 2007
Dodao sam nekoliko stavki u mapu "Godina 2006". To je ono što izgleda kao:
Moj prijatelj ne piše C # koda nego koristeći Java, tako da je SOAP omotnici je ono što je stvarno potrebno. Da biste dobili da, Napisao sam malo jQuery i zatim koristiti Fiddler da biste dobili stvarni HTTP razgovor.
Evo relevantne jQuery (Ja kopirati kod ispod želite li copy / paste):
Oni su prvi ključ je da su oba <queryOptions> i <QueryOptions> čvor. Drugi ključ je da <Mapa> čvor je URL koji klijent ima pristup.
Postoji svibanj biti drugih načina da se to, ali to je radio i za mene kada se koristi jQuery.
Ovdje je SOAP omotnice za gore:
<soapenv:Omotnica xmlns:soapenv =’http://schemas.xmlsoap.org / sapun / kuverta /’>
<soapenv:Tijelo>
<GetListItems xmlns =’http://schemas.microsoft.com / SharePoint / sapun /’>
<listname>Prilagođeni popis s podmape</listname>
<viewFields>
<ViewFields>
<FieldRef Ime = 'Naslov’ />
<FieldRef Ime = 'EncodedAbsUrl’ />
</ViewFields>
</viewFields>
<queryOptions>
<QueryOptions>
<Mapa>http://demoserver1/Blogging Scenariji / popisi / Custom List sa podmape / godine 2006</Mapa>
</QueryOptions>
</queryOptions>
</GetListItems>
</soapenv:Tijelo>
</soapenv:Omotnica>
Puno primjera i diskusiju oko to je dovelo me da vjerujem da je sve što mi treba je <QueryOptions> i odredite naziv mape. Za mene je, Trebam oba zamotajte ga u <queryOptions> kao i navesti u potpunosti kvalificirani za URL <Mapa> čvor.
Evo jQuery AJAX postava:
$(dokument).spreman(funkcija() {
je soapEnv =
"<soapenv:Omotnica xmlns:soapenv =’http://schemas.xmlsoap.org / sapun / kuverta /’> \
<soapenv:Tijelo> \
<GetListItems xmlns =’http://schemas.microsoft.com / SharePoint / sapun /’> \
<listname>Prilagođeni popis s podmape</listname> \
<viewFields> \
<ViewFields> \
<FieldRef Ime = 'Naslov’ /> \
<FieldRef Ime = 'EncodedAbsUrl’ /> \
</ViewFields> \
</viewFields> \
<queryOptions> \
<QueryOptions> \
<Mapa>http://demoserver1/Blogging Scenariji / popisi / Custom List sa podmape / godine 2006</Mapa> \
</QueryOptions> \
</queryOptions> \
</GetListItems> \
</soapenv:Tijelo> \
</soapenv:Omotnica>";
</kraj>
Slijedite me na Twitter-u http://www.twitter.com/pagalvin