Я рабіў некаторыя даследаванні для каго-то сёння каля службу list.asmx вэб падаюцца як частка SharePoint 2010 (і больш раннія версіі). Яна была ў стане атрымаць спіс элементаў у каранёвай тэчцы (у тым ліку імёны подпапок), але не мог атрымаць дэталі ў падтэчку. Я зрабіў некаторыя азіраючыся на інтэрнэт, і гэта дзіўна агульны пытанне. Яшчэ, Я не мог атрымаць добры адказ на простае пытанне, "Калі я ведаю, што папка, як я магу атрымаць элементы ў тэчцы?" Каб быць сумленным, Я не спрабаваў ўсё, што цяжка, так як я хацеў высветліць гэта самастойна на некаторы час .
Каб рэалізаваць гэтую магчымасць, Я стварыў сайт пад назвай "Блогі Сцэнарыі» і карыстальніцкі спіс пад назвай "Асаблівы спіс з ўкладзеных тэчак". Затым я стварыў тэчкі з назвамі:
- Год 2005
- Год 2006
- Год 2007
Я дадаў некалькі пунктаў у тэчку «Год 2006». Гэта, як ён выглядае:
Мой сябар не піша кода C #, а з дапамогай Java, так SOAP канверце было тое, што яна сапраўды неабходная. Для атрымання гэтага, Я напісаў трохі JQuery і затым выкарыстаў скрыпача, каб атрымаць фактычнае размове HTTP.
Вось адпаведны JQuery (Я скапіяваў код унізе, калі вы хочаце скапіяваць / ўставіць):
Яны першы ключ павінен ўключаць <queryOptions> і <QueryOptions> вузла. Другі ключ з'яўляецца тое, што <Папка> вузел з'яўляецца URL, да якіх кліент мае доступ.
Там могуць быць і іншыя спосабы, каб атрымаць гэтую, але гэта працуе добра для мяне пры выкарыстанні JQuery.
Вось SOAP канверт для дадзеных:
<soapenv:Канверт XMLNS:soapenv =’HTTP://schemas.xmlsoap.org / мыла / канверт /’>
<soapenv:Цела>
<GetListItems XMLNS =’HTTP://schemas.microsoft.com / SharePoint / мыла /’>
<Лісцяны>Карыстацкі спіс з ўкладзеных тэчак</Лісцяны>
<ViewFields>
<ViewFields>
<FieldRef NAME = 'Назва’ />
<FieldRef NAME = 'EncodedAbsUrl’ />
</ViewFields>
</ViewFields>
<queryOptions>
<QueryOptions>
<Папка>HTTP://demoserver1/Blogging Сцэнарыі / Спісы / Карыстацкі спіс ўкладзеных тэчак з / Год выпуску: 2006</Папка>
</QueryOptions>
</queryOptions>
</GetListItems>
</soapenv:Цела>
</soapenv:Канверт>
Шмат прыкладаў і абмеркавання вакол гэтага прывяло мяне да думкі, што ўсё што мне трэба было <QueryOptions> і пакажыце імя тэчкі. Для мяне, Мне трэба як апрацоўваць яго ў <queryOptions> а таксама пазначыць поўнае URL для <Папка> вузел.
Вось JQuery AJAX ўстаноўкі:
$(дакумент).гатовы(функцыя() {
быў soapEnv =
"<soapenv:Канверт XMLNS:soapenv =’HTTP://schemas.xmlsoap.org / мыла / канверт /’> \
<soapenv:Цела> \
<GetListItems XMLNS =’HTTP://schemas.microsoft.com / SharePoint / мыла /’> \
<Лісцяны>Карыстацкі спіс з ўкладзеных тэчак</Лісцяны> \
<ViewFields> \
<ViewFields> \
<FieldRef NAME = 'Назва’ /> \
<FieldRef NAME = 'EncodedAbsUrl’ /> \
</ViewFields> \
</ViewFields> \
<queryOptions> \
<QueryOptions> \
<Папка>http://demoserver1/Blogging Сцэнарыі / Спісы / Карыстацкі спіс ўкладзеных тэчак з / Год выпуску: 2006</Папка> \
</QueryOptions> \
</queryOptions> \
</GetListItems> \
</soapenv:Цела> \
</soapenv:Канверт>";
</канец>
Выконвайце за мной на Twitter у http://www.twitter.com/pagalvin
Прывітанне
I am trying to display the documents under a specific folder using a SPD 2010 DataSource GetListItems
Once I connect to to my web service and enter the guid for the document library
I can modify the QueryOptions and enter the following piece of CAML
Compliance Training\CompanyX.
Only this does not return any results – removing the QueryOptions parameter returns all the documents in the root document library….
Am I looking at passing some sort of view parameter and include the view guid.
This is a very old post/comment so sorry for never replying. I assume you long since figured out how to proceed.
Good article! Дзякуй.
You can also use the RecursiveAll option to automatically traverse down the folder structure (from the root level).
Ok, looks like it stripped out the xml… just replace the pound signs below with chevrons.
#queryOptions#
#QueryOptions#
#ViewAttributes Scope=’RecursiveAll’/#
#/QueryOptions#
#/queryOptions#
Вялікі дзякуй за гэта паведамленне, Пол. Я спрабаваў спажываць GetListItems праз ColdFusion cfhttp, і не мог атрымаць права канверце. У рэшце рэшт наткнуўся на гэты пост, і ваш прыклад працаваў бездакорна. Яшчэ раз дзякуй.
Дарэчы – Вы ведаеце, рэсурсу якой пералічаны ўсе належныя канверты мыла? Адзін для GetList, публікаваліся на microsoft.com не адпавядае Вашым тут…