Аз правя няколко изследвания на някой днес около list.asmx уеб услуга, предоставени като част от SharePoint 2010 (и по-рано). Тя е в състояние да получи елементите от списъка в главната папка (включително имената на подпапките), но не можа да се получи елементите в подпапките. Направих някои поглед по internets и това е изненадващо общ въпрос. Още, Не мога да получа добра отговорът на прост въпрос, "Ако знам, че папката, Как да получа елементите в папката?” За да бъда честен, Аз не опитайте всички усърдно, тъй като съм исках да фигура, тази комбинация, на моята собствена за известно време .
За да зададете това като настройка, Създадох даден сайт, наречена "Сценарии за Blogging" и списък по избор, наречена "Потребителски списък с последващо папки". След това създадох папки, наречени:
- Година 2005
- Година 2006
- Година 2007
Добавих няколко елементи в папката "2006 година". Ето как изглежда той:
Моят приятел не писане C# код а по-скоро използване на Java, така че САПУН плика е това, което тя наистина необходимо. За да получите, I пише малко jQuery и използва fiddler, за да получите действителната HTTP разговор.
Ето съответните jQuery (Аз копиран кода под ако искате да копирате/поставяте):
Те първият ключ е да включат и двете <queryOptions> и <QueryOptions> възел. Вторият ключ е, че <Папка> възел е URL АДРЕС, към която клиентът има достъп.
Може да има други начини да получите това, но това работи добре за мен, когато се използва jQuery.
Тук е SOAP пакет за горните:
<soapenv:Плик xmlns:soapenv =’HTTP://schemas.xmlsoap.org/SOAP/envelope/’>
<soapenv:Тяло>
<GetListItems xmlns =’HTTP://schemas.Microsoft.com/SharePoint/SOAP/’>
<listName>Списък по избор с последващо папки</listName>
<viewFields>
<ViewFields>
<Име на FieldRef =' заглавие’ />
<Име на FieldRef ='EncodedAbsUrl’ />
</ViewFields>
</viewFields>
<queryOptions>
<QueryOptions>
<Папка>HTTP://demoserver1/Blogging Списък на сценарии/списъци/по избор с последващо папки/година 2006</Папка>
</QueryOptions>
</queryOptions>
</GetListItems>
</soapenv:Тяло>
</soapenv:Плик>
Много примери и дискусия около това довело ми да се смята, че всичко трябва да е <QueryOptions> и задайте име на папка. За мен, Аз трябва да и го поставете между вътре <queryOptions> както и да укажете напълно квалифицирани URL АДРЕС за <Папка> възел.
Тук е настройка на jQuery AJAX:
$(документ).готов(функция() {
var soapEnv =
"<soapenv:Плик xmlns:soapenv =’HTTP://schemas.xmlsoap.org/SOAP/envelope/’> \
<soapenv:Тяло> \
<GetListItems xmlns =’HTTP://schemas.Microsoft.com/SharePoint/SOAP/’> \
<listName>Списък по избор с последващо папки</listName> \
<viewFields> \
<ViewFields> \
<Име на FieldRef =' заглавие’ /> \
<Име на FieldRef ='EncodedAbsUrl’ /> \
</ViewFields> \
</viewFields> \
<queryOptions> \
<QueryOptions> \
<Папка>http://demoserver1/Blogging Списък на сценарии/списъци/по избор с последващо папки/година 2006</Папка> \
</QueryOptions> \
</queryOptions> \
</GetListItems> \
</soapenv:Тяло> \
</soapenv:Плик>";
</край>
Следвайте ме на Twitter в http://www.twitter.com/pagalvin