Sharepoint / SOAP - GetListItems игнорирует запрос - PullRequest
0 голосов
/ 16 февраля 2011

Попытка поговорить с Python на Sharepoint через SOAP.

В одном из списков, которые я пытаюсь запросить, в качестве поля первичного ключа указано «ID».запросить запрос к элементу списка с ID = 77

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns1:GetListItems>
         <ns1:listName>60e3f442-6faa-4b49-814d-2ce2ec88b8d5</ns1:listName>
         <query><Query><Where>
            <Eq>
               <FieldRef Name="ID"/>
               <Value Type="Counter">77</Value>
            </Eq>
         </Where></Query></query>
       </ns1:GetListItems>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Однако Sharepoint возвращает все элементы из списка, полностью игнорируя запрос.

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 22 февраля 2011

Фактически выяснилось, что необходимо использовать

<ns1:query> 

здесь (по любой причине).

0 голосов
/ 16 февраля 2011

Попробуйте Type = "Number" вместо Counter.Я только что просмотрел кучу кода, который написал некоторое время назад, чтобы получить элементы списка на основе идентификатора, и я использовал Number, и это работает.

Возможно, вам также понадобится включить пустые элементы для представленийи прочее тоже.Ниже приведен фрагмент моего сгенерированного запроса:

 <GetListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
  <listName>Workgroups</listName>
  <viewName />
  <query><Query>
   <Where><Eq><FieldRef Name="ID"/><Value Type="Number">101</Value></Eq></Where>
  </Query></query>
  <viewFields><ViewFields><FieldRef Name="Title"/><FieldRef Name="Leader" /><FieldRef Name="Members" /><FieldRef Name="hiddenmembers" /></ViewFields></viewFields>
  <rowLimit />
  <queryOptions><QueryOptions /></queryOptions>
 </GetListItems>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...