Lists.asmx, GetListItems ಮತ್ತು ಫೋಲ್ಡರ್ಗಳು

ನಾನು ಶೇರ್ಪಾಯಿಂಟ್ ಭಾಗವಾಗಿ ಒದಗಿಸಿದ list.asmx ವೆಬ್ ಸೇವೆ ಸುತ್ತ ಇಂದು ಯಾರಾದರೂ ಕೆಲವು ಸಂಶೋಧನೆ ಮಾಡುತ್ತಿದ್ದ 2010 (ಮತ್ತು ಹಿಂದಿನ).  ಅವರು ಮೂಲ ಫೋಲ್ಡರ್ ನಲ್ಲಿ ಪಟ್ಟಿ ಐಟಂಗಳನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಯಿತು (ಉಪ ಫೋಲ್ಡರ್ಗಳನ್ನು ಹೆಸರುಗಳು ಸೇರಿದಂತೆ), ಆದರೆ ಉಪ ಫೋಲ್ಡರ್ಗಳನ್ನು ಐಟಂಗಳನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ.  ನಾನು ಕೆಲವು internets ಮೇಲೆ ಸುತ್ತಲೂ ನೋಡುತ್ತಿದ್ದವು ಮತ್ತು ಅದನ್ನು ಒಂದು ಆಶ್ಚರ್ಯಕರ ಸಾಮಾನ್ಯ ಪ್ರಶ್ನೆ ಇಲ್ಲಿದೆ.  ಇನ್ನೂ, ನಾನು ಸರಳ ಪ್ರಶ್ನೆಗೆ ಉತ್ತಮ ಉತ್ತರವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ, "ನಾನು ಫೋಲ್ಡರ್ ತಿಳಿದಿದ್ದರೆ, ಹೇಗೆ ನಾನು ಫೋಲ್ಡರ್ನಲ್ಲಿ ಐಟಂಗಳನ್ನು ಪಡೆಯಲು ಇಲ್ಲ?"  ಪ್ರಾಮಾಣಿಕವಾಗಿ, ನಾನು ಆ ನನ್ನ ಈ ಒಂದು ಲೆಕ್ಕಾಚಾರ ಬಯಸಿದರು ಬಂದಿದೆ ಏಕೆಂದರೆ ನಾನು ಆ ಹಾರ್ಡ್ ಪ್ರಯತ್ನಿಸಿ ಇಲ್ಲ ಸ್ಮೈಲ್.

ಈ ಹೊಂದಿಸಲು, ನಾನು "ಬ್ಲಾಗಿಂಗ್ ಸಂದರ್ಭಗಳ" ಮತ್ತು "ಉಪ ಫೋಲ್ಡರ್ಗಳು ಕಸ್ಟಮ್ ಪಟ್ಟಿ" ಹೆಸರಿನ ಕಸ್ಟಮ್ ಪಟ್ಟಿಯಲ್ಲಿ ಹೆಸರಿನ ಸೈಟ್ ದಾಖಲಿಸಿದವರು.  ನಾನು ಎಂಬ ಫೋಲ್ಡರ್ಗಳನ್ನು ದಾಖಲಿಸಿದವರು:

  • ವರ್ಷ 2005
  • ವರ್ಷ 2006
  • ವರ್ಷ 2007

ನಾನು ಫೋಲ್ಡರ್ "ವರ್ಷದ 2006" ಕೆಲವು ಐಟಂಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ.  ಇದು ತೋರುತ್ತಿದೆ ಏನು:

image

ನನ್ನ ಸ್ನೇಹಿತ C # ಕೋಡ್ ಬರೆಯುವ ಬದಲಿಗೆ ಜಾವಾ ಬಳಸದೇ, ಆದ್ದರಿಂದ SOAP ಹೊದಿಕೆ ಅವರು ನಿಜವಾಗಿಯೂ ಅಗತ್ಯವಿದೆ ಯಾವುದು.  ಎಂದು ಪಡೆಯಲು, ನಾನು jQuery ಒಂದು ಬಿಟ್ ಬರೆದು ನಂತರ ನಿಜವಾದ HTTP ಸಂವಾದವನ್ನು ಪಡೆಯಲು ಪಿಟೀಲುವಾದಕ ಬಳಸಲಾಗುತ್ತದೆ.

ಇಲ್ಲಿ ಸೂಕ್ತ jQuery ಇಲ್ಲಿದೆ (ನೀವು ಅಂಟಿಸಿ / ನಕಲಿಸಲು ಬಯಸುವ ವೇಳೆ ನಾನು ಕೆಳಗೆ ಕೋಡ್ ಕೆಳಗೆ ನಕಲು):

image

ಅವರು ಮೊದಲ ಪ್ರಮುಖ ಒಂದು ಎರಡೂ ಸೇರಿಸುವುದು <queryOptions> ಮತ್ತು <QueryOptions> ನೋಡ್.  ಎರಡನೇ ಪ್ರಮುಖ ಎಂದು <ಫೋಲ್ಡರ್> ನೋಡ್ ಇದು ಕ್ಲೈಂಟ್ ನಿಲುಕುವ ಒಂದು URL ಅನ್ನು ಹೊಂದಿದೆ.

ಈ ಪಡೆಯಲು ಇತರ ಬಗೆಗಳು ಇರಬಹುದು, jQuery ಬಳಸುವಾಗ ಆದರೆ ಈ ನನಗೆ ಚೆನ್ನಾಗಿ ಕೆಲಸ.

ಇಲ್ಲಿ ಮೇಲೆ ಫಾರ್ SOAP ಹೊದಿಕೆ ಆಗಿದೆ:

<soapenv:ಎನ್ವೆಲಪ್ xmlns:soapenv =’HTTP://schemas.xmlsoap.org / ಸಾಬೂನು / ಹೊದಿಕೆ /’>                
  <soapenv:ದೇಹ>
    <GetListItems xmlns =’
HTTP://schemas.microsoft.com / ಶೇರ್ಪಾಯಿಂಟ್ / ಸಾಬೂನು /’>
      <ಪತನಶೀಲ>ಉಪ ಫೋಲ್ಡರ್ಗಳು ಕಸ್ಟಮ್ ಪಟ್ಟಿ</ಪತನಶೀಲ>
      <viewFields>  
        <ViewFields>
          <FieldRef ಹೆಸರು = 'ಶೀರ್ಷಿಕೆ’ />
          <FieldRef ಹೆಸರು = '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 / ಶೇರ್ಪಾಯಿಂಟ್ / ಸಾಬೂನು /’> \
                       <ಪತನಶೀಲ>ಉಪ ಫೋಲ್ಡರ್ಗಳು ಕಸ್ಟಮ್ ಪಟ್ಟಿ</ಪತನಶೀಲ> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef ಹೆಸರು = 'ಶೀರ್ಷಿಕೆ’ /> \
                              <FieldRef ಹೆಸರು = 'EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <ಫೋಲ್ಡರ್>http://demoserver1/Blogging ಸಂದರ್ಭಗಳ / ಪಟ್ಟಿಗಳನ್ನು / ಉಪ ಫೋಲ್ಡರ್ಗಳು / ವರ್ಷದ 2006 ಕಸ್ಟಮ್ ಪಟ್ಟಿ</ಫೋಲ್ಡರ್> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:ದೇಹ> \
           </soapenv:ಹೊದಿಕೆ>";

</ಕೊನೆಯಲ್ಲಿ>

ನನ್ನ ಬ್ಲಾಗ್ ಚಂದಾದಾರರಾಗಿ.

ನಲ್ಲಿ ಟ್ವಿಟ್ಟರ್ ನನ್ನನ್ನು ಅನುಸರಿಸಿ http://www.twitter.com/pagalvin

6 ಮೇಲೆ "ಆಲೋಚನೆಗಳುLists.asmx, GetListItems ಮತ್ತು ಫೋಲ್ಡರ್ಗಳು

  1. ಪ್ರಾಜ್ಞ

    ಹೈ

    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.

  2. ಡೌಗ್

    ಈ ಪೋಸ್ಟ್ಗೆ ಒಂದು ಗುಂಪೇ ಧನ್ಯವಾದಗಳು, ಪಾಲ್. ನಾನು ಕೋಲ್ಡ್ಫ್ಯೂಶನ್ cfhttp ಮೂಲಕ GetListItems ಬಳಸುತ್ತದೆ ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದಾರೆ ಬಂದಿದೆ, ಮತ್ತು ಹೊದಿಕೆ ಹಕ್ಕನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ಅಂತಿಮವಾಗಿ ಈ ಪೋಸ್ಟ್ ಅಡ್ಡಲಾಗಿ ಬಂದ, ಮತ್ತು ನಿಮ್ಮ ಉದಾಹರಣೆಗೆ ಹರಕು ಕೆಲಸ. ಧನ್ಯವಾದಗಳು ಮತ್ತೆ.

  3. ಡೌಗ್

    BTW – ನೀವು ಎಲ್ಲಾ ಸರಿಯಾದ ಸೋಪ್ ಲಕೋಟೆಗಳನ್ನು ಪಟ್ಟಿ ಒಂದು ಸಂಪನ್ಮೂಲದ ಗೊತ್ತು? microsoft.com ರ GetList ಐಟಂಗಳು ಒಂದು ನಿಮ್ಮ ಇಲ್ಲಿ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ…

ಒಂದು ಉತ್ತರಿಸಿ ಬಿಡಿ ಪಾಲ್ ಗಾಲ್ವಿನ್ ಉತ್ತರ ರದ್ದು

ನಿಮ್ಮ ಈಮೇಲ್ ವಿಳಾಸ ರ ಆಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಜಾಗ ಗುರುತಿಸಲಾಗಿದೆ *