1

何らかの理由で、Python suds ライブラリを使用して CAML と Web サービスを使用して SharePoint 2007 にクエリを実行しようとしています。呼び出しは次のようになります。

listItems = client.service.GetListItems(
    listName, '', Raw('<Query />'), viewFields, 0, 
    Raw("""<QueryOptions>
       <IncludeMandatoryColumns>TRUE</IncludeMandatoryColumns>
       </QueryOptions>"""), 
    None)

何らかの理由で、結果が 0 になるか、 or でエラーが発生し<Query/>ます<Query><Where/></Query>が、単純なトートロジーですべての項目が取得されますWHERE x = 1 OR x != 1

すべてのリスト項目を取得する正しい方法は何ですか?

4

3 に答える 3

1

Queryそれについてはばかげたことがあります、あなたは要素の中であなたを包む必要がありますquery。結果のSOAPエンベロープは次のようになります。

<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'>
 <soapenv:Body>
  <GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'>
     <listName>TestQuery</listName>
     <query><Query><Where><Eq><FieldRef Name='Title'/>
      <Value Type='Text'>One</Value></Eq></Where></Query>
     </query>
     <viewFields><ViewFields><FieldRefName='Title'/>
  </ViewFields></viewFields><RowLimit>1</RowLimit>
 </GetListItems></soapenv:Body></soapenv:Envelope>

その結果、GetListItems Webサービスはクエリが間違っていると判断し、アイテムを返しません。

この投稿も参照してください:GetListItemsWebサービスはクエリフィルターを無視します

于 2011-01-18T20:30:15.857 に答える
1

すべてのアイテムを取得するには、そこに orderby 句を入れて、任意の列を指定します。全部返さなきゃ…

于 2011-01-18T20:27:00.047 に答える
0

rowlimit パラメータに 0 を使用しています。100くらいでやってみてください。

于 2011-03-05T08:48:34.250 に答える