Lists.asmx, GetListItems மற்றும் கோப்புறைகள்

நான் ஷேர்பாயிண்ட் பகுதியாக வழங்கப்படும் list.asmx வலை சேவை சுற்றி இன்று யாரோ சில ஆராய்ச்சி செய்து கொண்டிருந்தேன் 2010 (மற்றும் முந்தைய).  அவள் மூல கோப்புறையில் உள்ள பட்டியலில் பொருட்களை பெற முடிந்தது (துணை கோப்புறைகளை பெயர்கள் உட்பட), ஆனால் துணை கோப்புறைகளை உள்ள பொருட்களை பெற முடியவில்லை.  நான் சில internets அன்று சுற்றி பார்க்க மற்றும் அது ஒரு ஆச்சரியமான பொதுவான கேள்வி.  இன்னும், நான் எளிய கேள்விக்கு ஒரு நல்ல பதில் கிடைக்கும் முடியவில்லை, "நான் கோப்புறையை தெரிந்தால், எப்படி நான் கோப்புறையில் பொருட்கள் கிடைக்கும்?"  நேர்மையானவர், நான் ஒரு போது என் சொந்த இந்த ஒரு கண்டுபிடிக்க வேண்டும் என்று நினைத்தேன் பின்னர் நான் அந்த கடின முயற்சி செய்யவில்லை ஸ்மைல்.

இந்த அமைக்க, நான் "பிளாக்கிங் சூழல்கள்" மற்றும் "உப அடைவுகள் உடன் தனிபயன் பட்டியல்" என்று பெயரிடப்பட்ட ஒரு தனிபயன் பட்டியலில் பெயர் ஒரு தளம் உருவாக்கப்பட்டது.  நான் என்ற கோப்புறைகளை உருவாக்கப்பட்ட:

  • ஆண்டு 2005
  • ஆண்டு 2006
  • ஆண்டு 2007

நான் கோப்புறை "இயர் 2006" ஒரு சில உருப்படிகள் சேர்க்கப்பட்டன.  இது போல் தான்:

image

என் நண்பர் சி # குறியீட்டை எழுதி மாறாக ஜாவா பயன்படுத்தி இல்லை, எனவே SOAP உறை உண்மையில் அவள் தேவை என்ன.  அந்த பெற, நான் jQuery ஒரு பிட் எழுதி பின்னர் உண்மையான HTTP உரையாடல் பெற fiddler பயன்படுத்தப்படும்.

இங்கே பொருத்தமான jQuery தான் (நீங்கள் ஒட்டவும் / நகலெடுக்க விரும்பினால் நான் கீழே குறியீடு கீழே நகலெடுக்க):

image

அவர்கள் முதல் முக்கிய ஒரு இரண்டையும் உள்ளடக்கியதாக இருக்கிறது <queryOptions> மற்றும் <QueryOptions> முனை.  இரண்டாவது முக்கிய என்று <கோப்புறை> முனை இது வாடிக்கையாளர் அணுகக்கூடிய ஒரு URL ஐ தான்.

இந்த பெற வழிகள் இருக்கலாம், jQuery பயன்படுத்தும் போது ஆனால் இந்த எனக்கு நன்றாக வேலை.

இங்கே மேலே சோப் உறை உள்ளது:

<soapenv:உறை xmlns:soapenv =’HTTP://schemas.xmlsoap.org / சோப்பு / உறை /’>                
  <soapenv:உடல்>
    <GetListItems xmlns =’
HTTP://schemas.microsoft.com / ஷேர்பாயிண்ட் / சோப்பு /’>
      <listname>உப அடைவுகள் உடன் விருப்ப பட்டியல்</listname>
      <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 / ஷேர்பாயிண்ட் / சோப்பு /’> \
                       <listname>உப அடைவுகள் உடன் விருப்ப பட்டியல்</listname> \
                       <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. டேனியல்

    Hi

    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 பொருட்கள் ஒரு உங்கள் இங்கே பொருந்தவில்லை…

ஒரு பதில் விட்டு Bob Bolton பதிலை நிருத்து

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டன *