Lists.asmx, GetListItems i folderów

Robię niektórych badań dla kogoś dziś około list.asmx usługi sieci web w ramach programu SharePoint 2010 (i wcześniejszych).  Okręt był w stanie uzyskać elementów listy w głównym folderze (łącznie nazw podfolderów), jednak nie można pobrać elementy w podfolderach.  I did, niektóre patrząc sieciach internetowych i jest zaskakująco często pytanie.  Jeszcze, Nie mogłam dobrej odpowiedzi na proste pytanie, "Jeśli wiadomo folder, jak uzyskać elementy w folderze?”  Szczerze, I spróbuj nie wszystkie twarde ponieważ wcześniej chciałem do rysunku, to jeden z samodzielne na chwilę Uśmiech.

Aby skonfigurować, Utworzony witrynę o nazwie "Blogi scenariuszy" i niestandardowej listy o nazwie "Niestandardowe listy z podfoldery".  Następnie utworzony foldery o nazwie:

  • Rok 2005
  • Rok 2006
  • Rok 2007

Po dodaniu kilku elementów do folderu "Rok 2006".  Jest to, jak ona wygląda:

image

Mój przyjaciel nie pisząc kod C#, ale raczej przy użyciu języka Java, tak więc koperty SOAP została co tak naprawdę potrzebuje.  Aby uzyskać, Napisał nieco jQuery i następnie używana skrzypek, aby uzyskać notatkom HTTP.

Oto odpowiednich jQuery (Skopiowano kod w dół poniżej jeśli chcesz kopiowania/wklejania):

image

Ich pierwszy klucz ma zawierać zarówno <queryOptions> i <QueryOptions> węzeł.  Drugi klucz jest <Folderu> węzeł jest to adres URL, do którego klient ma dostęp.

Mogą istnieć inne sposoby żeby to, ale to pracował również dla mnie podczas używania jQuery.

Oto koperty SOAP dla powyższego:

<soapenv:Koperta xmlns:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’>                
  <soapenv:Organ>
    <GetListItems xmlns =’
http://schemas.Microsoft.com/SharePoint/SOAP/’>
      <listName>Lista niestandardowa z podfoldery</listName>
      <viewFields>  
        <ViewFields>
          <Nazwa FieldRef =' Tytuł’ />
          <FieldRef Name = "EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Folderu>
http://demoserver1/blogi Lista scenariuszy/list/niestandardowa z Sub folderów na rok 2006</Folderu>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Organ>
</soapenv:Koperta>

Wiele przykładów i dyskusji wokół to doprowadziło me by sądzić, że wszystko, co potrzebne było <QueryOptions> i określ nazwę folderu.  Dla mnie, I potrzeby zarówno opakować go wewnątrz <queryOptions> jak określić pełni kwalifikowany adres URL dla <Folderu> węzeł.

Oto instalacji AJAX jQuery:

$(dokument).gotowe(Funkcja() {
       var soapEnv =
           "<soapenv:Koperta xmlns:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’> \
               <soapenv:Organ> \
                    <GetListItems xmlns =’http://schemas.Microsoft.com/SharePoint/SOAP/’> \
                       <listName>Lista niestandardowa z podfoldery</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <Nazwa FieldRef =' Tytuł’ /> \
                              <FieldRef Name = "EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Folderu>http://demoserver1/Blogging Lista scenariuszy/list/niestandardowa z Sub folderów na rok 2006</Folderu> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Organ> \
           </soapenv:Koperta>";

</koniec>

Subskrybowanie mój blog.

Follow me on Twitter wiek na http://www.twitter.com/pagalvin

6 przemyślenia na temat „Lists.asmx, GetListItems i folderów

  1. Daniel

    Cześć

    Ja jestem trudny do wyświetlania dokumentów w określonym folderze przy użyciu SPD 2010 DataSource GetListItems

    Raz połączyć do mojego serwisu www i wprowadź identyfikator guid dla biblioteki dokumentów
    Można zmodyfikować QueryOptions i wprowadź następujący fragment CAML
    TrainingCompanyX zgodności.

    Tylko to nie zwraca żadnych wyników – usunięcie parametr QueryOptions zwraca wszystkie dokumenty w bibliotece dokument główny….

    Jestem I patrząc na marginesie niektórych rodzaju Zobacz parametr i zawierać identyfikator guid Zobacz.

    1. Paul Galvin autor postu

      Jest to bardzo stary post/komentarz więc przepraszam za nie odpowiadanie. Zakładam, że długo ponieważ zorientowali się, jak postępować.

  2. Bob Bolton

    Ok, wygląda na to wycięte xml… po prostu Zamień cudzysłowy ostrokątne krzyżyki poniżej.

    #queryOptions #
    #QueryOptions #
    #ViewAttributes zakres = "Cykliczne wszystkie" / #
    #/QueryOptions #
    #/queryOptions #

  3. Doug

    Wielkie dzięki za ten post, Paul. Już próbuje zużywają GetListItems za pośrednictwem programu ColdFusion cfhttp, i nie mogłem uzyskać prawo koperty. W końcu natknąłem się ten post, i twój przykład działał bez zarzutu. Dzięki jeszcze raz.

  4. Doug

    AT4 – Czy wiesz, że z zasobem, który wyświetla wszystkie koperty soap właściwego? Jeden dla GetList elementy opublikowane na witrynie microsoft.com nie pasuje ci tutaj…

Zostaw odpowiedź do Bob Bolton Anuluj odpowiedź

Twoj adres e-mail nie bedzie opublikowany. wymagane pola są zaznaczone *