Csinálok néhány kutatás valaki ma körül a list.asmx webszolgáltatást, SharePoint részeként 2010 (és a korábbi). Ő volt képes-hoz kap a lista elemeit a gyökérmappában (beleértve a tengeralattjáró-tartók nevei), de nem tudott kap az elemek tengeralattjáró-tartók-ban. Csináltam néhány látszó körül a a internets, és meglepően közös kérdés. Még, Tudtam, hogy egy jó az egyszerű kérdésre választ, "ha tudom, hogy a mappa, Hogyan jutok a cikkeket a mappában?” Hogy őszinte legyek, Nem próbálom minden, amit kemény óta már akartam ábra, ez egy ki a saját egy darabig .
Ennek beállításához, Létrehoztam egy webhely "Forgatókönyvek Blogging" nevű és „egyéni lista a Sub mappák"nevű egyéni lista. Majd hozott létre nevű mappák:
- Év 2005
- Év 2006
- Év 2007
Én hozzáadott néhány elem "2006-os évre" mappába. Ez az, amit úgy néz ki, mint:
A barátom nem C# kód írása, de inkább a Java használata, így a SOAP-boríték volt mire ő igazán szükség. -Hoz kap amit, Írtam egy kicsit a jQuery, és fiddler segítségével kap a tényleges HTTP-beszélgetés.
Itt van a megfelelő jQuery (Másoltam a kód le alul ha ön akar-hoz másol/tészta):
Azok első kulcsa tartalmazza mind a <queryOptions> és <QueryOptions> csomópont. A második kulcsot, hogy a <Mappa> csomópont egy URL-címet, amelyhez az ügyfél hozzáfér.
Előfordulhat, hogy más ways-hoz kap ez, de ez munkás jól értem, amikor segítségével jQuery.
Itt van részére a fenti SOAP-boríték:
<soapenv:Boríték xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’>
<soapenv:Szerv>
<GetListItems xmlns =’http://schemas.microsoft.com/SharePoint/SOAP/’>
<listName>Egyéni lista Sub-mappákkal</listName>
<viewFields>
<ViewFields>
<A FieldRef neve = "cím’ />
<A FieldRef neve ='EncodedAbsUrl’ />
</ViewFields>
</viewFields>
<queryOptions>
<QueryOptions>
<Mappa>http://demoserver1 és a blogírás Sub mappák/év 2006 forgatókönyvek/listák/egyéni lista</Mappa>
</QueryOptions>
</queryOptions>
</GetListItems>
</soapenv:Szerv>
</soapenv:Boríték>
Sok példák és körül ez a vita vezetett, azt hinni, hogy minden szükségem volt <QueryOptions> gombra, és adja meg a mappa nevét. Nekem, Azt kell mindkét betakar ez belsejében <queryOptions> valamint egy teljesen minősített URL-adja meg a <Mappa> csomópont.
Itt van a jQuery AJAX-telepítő:
$(dokumentum).kész(függvény() {
var soapEnv =
"<soapenv:Boríték xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’> \
<soapenv:Szerv> \
<GetListItems xmlns =’http://schemas.microsoft.com/SharePoint/SOAP/’> \
<listName>Egyéni lista Sub-mappákkal</listName> \
<viewFields> \
<ViewFields> \
<A FieldRef neve = "cím’ /> \
<A FieldRef neve ='EncodedAbsUrl’ /> \
</ViewFields> \
</viewFields> \
<queryOptions> \
<QueryOptions> \
<Mappa>http://demoserver1/Blogging Sub mappák/év 2006 forgatókönyvek/listák/egyéni lista</Mappa> \
</QueryOptions> \
</queryOptions> \
</GetListItems> \
</soapenv:Szerv> \
</soapenv:Boríték>";
</vége>
Kövesse nekem Twitter http://www.twitter.com/pagalvin