Tag Achiv yo: lists.asmx

Lists.asmx, GetListItems Et Dossiers

M t ap fè kèk rechèch pou yon moun jodi a nan list.asmx web sèvis la te founi kòm yon pati de SharePoint 2010 (Et plus).  Li pa t ' kapab jwenn atik lis yo nan tout rasin Katab (ansanm ak non de dossiers de baz), Men, pa t kapab jwenn atik nan de baz dossiers.  M' te fè kèk gade internets yo Et se yon kesyon que komen.  Encore, M pa t ka yon bon repons pou kesyon senp, "si m konnen Katab a, Kouman m ap ka jwenn atik yo nan Katab a?”  En onèt, M pa t seye tout sa di depi lè mwen te vle figi moun sa a soti sou mwen pou kont li pandan yon ti moman Souri.

Pou mete sa a sou pye, Mwen te kreye yon kote yo rele "Blogs Scénarios" ak yon lis repòtaj ki rele "Personnalisé lis ak Sub Dossiers".  Mwen te kreye puis dossiers rele:

  • Ane 2005
  • Ane 2006
  • Ane 2007

Mwen te ajoute kèk atik pou Katab a "lane 2006".  Sa a se sa li sanble:

image

Zanmi m' pa ekri C# kòd Men non w ap itilize Java, Se konsa enveloppe SAVON a te sa li te vrèman bezwen.  Pou sa, Mwen te ekri yon ti jQuery Et puis itilize fiddler pou fè konvèsasyon HTTP réel.

Se isit la a jQuery pertinentes (Mwen copié kòd a desann pi ba pase si ou vle kopi/coller):

image

Yo premye kle, se pou genyen ladan yo tou de yon <queryOptions> Et <QueryOptions> nodozite.  Dezyèm kle a se sa a <Katab> nodozite se yon adrès entènèt sa a kliyan an gen aksè.

Ka gen lòt fason pou ou, Men, sa te travay byen pou mwen lè w ap itilize jQuery.

Isit la se enveloppe SAVON pou CI-dessus a:

<soapenv:Enveloppe xmlns:soapenv =’http://schemas.xmlsoap.org/Soap/envelope/’>                
  <soapenv:Kò>
    <GetListItems xmlns =’
http://schemas.Microsoft.com/sharepoint/Soap/’>
      <listName>Lis personnalisé ak Sub Dossiers</listName>
      <viewFields>  
        <ViewFields>
          <Non FieldRef =' Tit’ />
          <Non FieldRef ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Katab>
http://demoserver1/Blogs Lis scénarios/lis/Personnalisé ak Sub Dossiers/ane 2006</Katab>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Kò>
</soapenv:Anvlòp>

Yon lòt egzanp ak diskisyon nan sa te mennen m' pou kwè tou sa mwen vle te <QueryOptions> Et spécifier yon Katab non.  Pou mwen, Mwen bezwen pou les vlope l' anndan <queryOptions> osi byen ke spécifier entièrement ki kalifye adrès entènèt l ' pou yo <Katab> nodozite.

Se isit la configuration AJAX jQuery:

$(dokiman).pare(fonksyon() {
       var soapEnv =
           "<soapenv:Enveloppe xmlns:soapenv =’http://schemas.xmlsoap.org/Soap/envelope/’> \
               <soapenv:Kò> \
                    <GetListItems xmlns =’http://schemas.Microsoft.com/sharepoint/Soap/’> \
                       <listName>Lis personnalisé ak Sub Dossiers</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <Non FieldRef =' Tit’ /> \
                              <Non FieldRef ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Katab>http://demoserver1/Blogging Lis scénarios/lis/Personnalisé ak Sub Dossiers/ane 2006</Katab> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Kò> \
           </soapenv:Anvlòp>";

</fen>

Vous pou m' blog.

Swiv mwen sou Twitter nan http://www.twitter.com/pagalvin

Lists.asmx, GetList Et "valè peut être Nil”

Mwen te dekouvwi jodi a ke GetList la() metòd nan lists.asmx sèvis entènèt ki pou rele ak anpil swen ou gen tandans pou voye yon mistik "Valè peut être Nil" eksepsyon (Et sa en ou ka resevwa mesaj erreur ak menm pi mal pase, "Eksepsyon ki jan de ' Microsoft.SharePoint.SoapServer.SoapServerException’ yo te voye.")  Espesyalman, Mwen te twouve ke ou pa ka bay tout kalite prefix sou metòd GetList.  Extrait jQuery suivant montre pwen:

image

Si ou fè sa, sèvis entènèt la répond ak "Valè peut être Nil" as per sa a fiddler-te founi HTTP transcript:

<?xml vèsyon pipiti de youn = "1.0" codage = "utf-8"?>
  <savon:Anvlòp
     xmlns:savon ="
http://schemas.xmlsoap.org/Soap/envelope/"    
     xmlns:xsi = "
http://www.w3.org/ lane 2001/XMLSchema-bagay
     xmlns:xsd ="
http://www.w3.org/ lane 2001/XMLSchema">

  <savon:Kò>
    <savon:Bay tò>
      <faultcode>savon:Sèvè</faultcode>
      <faultstring>
        Eksepsyon ki jan de ' Microsoft.SharePoint.SoapServer.SoapServerException’ yo te voye.
      </faultstring>
      <detay>
        <errorstring xmlns ="
http://schemas.Microsoft.com/sharepoint/Soap/">
Valè peut être Nil.
        </errorstring>
      </detay>
    </savon:Bay tò>
  </savon:Kò>
</savon:Anvlòp>

Men wi, ou kapab byen ne ajoute prefix "s0" sa pou kont ou, Men kèk zouti yo gen tandans pou ou fè l (tankou Eclipse).

Sa pi rèd ki pa klè / frustration paske lòt faso tolérer préfixes.  Ekzanp, a GetListCollection metòd pa chonje si l' te précédé, ata ak vye koze préfixes tankou "xyzzy":

image

Sa "valè peut être Nil" semble assez komen ak lists.asmx ki se konsa, sa ap ede yon moun deyò nan tan kap vini.

</fen>

Vous pou m' blog.

Swiv mwen sou Twitter nan http://www.twitter.com/pagalvin