Lists.asmx, GetListItems 및 폴더

Sharepoint의 일환으로 제공 하는 list.asmx 웹 서비스 오늘 주위 사람에 대 한 몇 가지 연구 있었는데 2010 (이전 버전).  그녀는 루트 폴더에서 목록 항목을 얻을 수 있었습니다. (하위 폴더의 이름을 포함 하 여), 하지만 하위 폴더에서 항목을 가져올 수 없습니다.  일부 internets에 구경을 했 고 그것은 놀라울 정도로 공통 질문 이다.  아직, 간단한 질문에 좋은 답변을 얻을 수 없습니다., 폴더를 알고 있는 경우 ", 폴더에 항목을 얻을 하는 방법?”  솔직히 말해서, 이후 한 동안 내 자신에 밖으로이 하나 내려고 싶었던 난을 모두 열심히 시도 하지 않았다 미소.

이것을 설정 하려면, "블로깅 시나리오" 라고 하는 사이트 및 "사용자 지정 목록 함께 Sub Folders" 라는 사용자 지정 목록을 만들었습니다.  그런 다음 폴더를 생성:

  • 올해 2005
  • 올해 2006
  • 올해 2007

"2006 년" 폴더에 몇 가지 항목을 추가 합니다.  이것은 그것 처럼 보이는:

image

내 친구는 C# 코드 작성 아니지만 오히려 자바를 사용 하 여, 그래서 SOAP 봉투 그녀가 정말로 필요 했다.  그, Jquery의 비트를 작성 하 고 fiddler를 사용 하는 실제 HTTP 대화.

여기 관련 jQuery입니다. (복사 코드 아래로 아래 복사/붙여넣기를 하는 경우):

image

그들은 둘 다 포함 하는 첫 번째 키를 <queryOptions> 그리고 <QueryOptions> 노드입니다.  두 번째 키는 그는 <폴더> 노드는 클라이언트는 액세스할 수 있는 URL.

이 다른 방법이 있을 수 있습니다., 하지만이 나를 위해 잘 일했다 Jquery를 사용 하는 경우.

여기는 위의 대 한 SOAP 봉투:

<soapenv:봉투 xmlns:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’>                
  <soapenv:바디>
    <GetListItems xmlns =’
http://schemas.microsoft.com/sharepoint/soap/’>
      <listName>하위 폴더를 사용 하 여 사용자 지정 목록</listName>
      <viewFields>  
        <ViewFields>
          <FieldRef 이름 =' 제목’ />
          <FieldRef 이름 ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <폴더>
http://demoserver1/블로그 사용자 정의 시나리오/목록/목록 하위 폴더/Year 2006</폴더>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:바디>
</soapenv:봉투>

예제와 주변이 토론을 많이 모든 필요는 믿고 나를 이끌고 <QueryOptions> 폴더 이름을 지정 하 고 있습니다.  나를 위해, 내가 필요 모두 래핑 내부 <queryOptions> 뿐만 아니라에 대 한 정규화 된 URL을 지정 합니다 <폴더> 노드.

여기 jQuery AJAX 설정이입니다.:

$(문서).준비(함수() {
       var soapEnv =
           "<soapenv:봉투 xmlns:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’> \
               <soapenv:바디> \
                    <GetListItems xmlns =’http://schemas.microsoft.com/sharepoint/soap/’> \
                       <listName>하위 폴더를 사용 하 여 사용자 지정 목록</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef 이름 =' 제목’ /> \
                              <FieldRef 이름 ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <폴더>http://demoserver1/Blogging 사용자 정의 시나리오/목록/목록 하위 폴더/Year 2006</폴더> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:바디> \
           </soapenv:봉투>";

</끝>

내 블로그를 구독.

에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin

6 "에 대한 생각Lists.asmx, GetListItems 및 폴더

  1. 다니엘

    안녕

    SPD를 사용 하 여 특정 폴더에서 문서를 표시 하 려 2010 데이터 소스 GetListItems

    일단 내 웹 서비스에 연결 하 고 문서 라이브러리에 대 한 guid를 입력
    나는 QueryOptions를 수정 하 고 CAML 다음과 같은 조각을 입력 수 있습니다.
    준수 TrainingCompanyX.

    이 모든 결과 반환 하지 않습니다. – 루트 문서 라이브러리에서 모든 문서를 반환 합니다 QueryOptions 매개 변수 제거….

    어떤을 일종의 통과 보고 나 매개 변수 보기와 보기의 guid를 포함.

    회신
    1. 폴 Galvin 포스트 저자

      이것은 아주 오래 된 게시물/코멘트 정말 절대 회신에 대 한 미안. 당신이 긴 이후 진행 하는 방법을 알아 냈 있다고 가정.

      회신
  2. 밥 볼 턴

    괜찮았던 것, 그것은 제거 xml 처럼 보이는… 그냥 아래 파운드 기호를 chevrons 바꿉니다.

    #queryOptions #
    #QueryOptions #
    #ViewAttributes 범위 'RecursiveAll' = / #
    #/QueryOptions #
    #/queryOptions #

    회신
  3. 더 그

    이 게시물 주셔서 감사 합니다 잔뜩을, Paul. 퓨전 cfhttp 통해 GetListItems를 소비 하려고 했는데, 봉투를 바로 가져올 수 없습니다. 결국이 게시물을 건너 온, 귀하의 예를 완벽 하 게 작동 하 고. 다시 한번 감사 드려요.

    회신
  4. 더 그

    BTW – 모든 적절 한 soap 봉투를 나열 하는 리소스의 아시나요? 한 microsoft.com GetList 항목 게시에 대 한 일치 하지 않는 당신이 여기 있어…

    회신

응답을 남기다

귀하의 이메일 주소는 공개되지 않습니다. 필요 입력 사항은 표시되어 있습니다 *