2012-01-11 2 views
3

J'essaie d'obtenir une discussion avec toutes ses réponses des services Web de sharepoint, mais semble seulement pouvoir obtenir le message racine et aucune des réponses. Voici le savon XML. Qu'est-ce que je rate?Discussion et réponses de l'équipe de services Web SharePoint

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.microsoft.com/sharepoint/soap/"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <soap:GetListItems> 
     <!--Optional:--> 
     <soap:listName>Team Discussion</soap:listName> 

     <soap:viewFields> 
       <ViewFields> 
      <FieldRef Name='Title'/> 
      <FieldRef Name='ItemChildCount'/> 
      <FieldRef Name='Body'/> 
     </ViewFields> 
     </soap:viewFields> 
     <soap:queryOptions> 
     <QueryOptions> 
      <Folder> 
     "http://Lists/Team Discussion/Bite Me" 
     </Folder> 
     </QueryOptions> 
     </soap:queryOptions> 

     </soap:GetListItems> 
    </soapenv:Body> 
</soapenv:Envelope> 

La réponse est:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <soap:Body> 
     <GetListItemsResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/"> 
     <GetListItemsResult> 
      <listitems xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema"> 
       <rs:data ItemCount="2"> 
        <z:row ows_Title="Hello" ows_ItemChildCount="3;#1" ows_Body="&lt;div class=&quot;ExternalClass7B4989B3DC264716AD81B9CE55FD38FA&quot;>&lt;p>​The text of the message&lt;/p>&lt;/div>" ows_MetaInfo="3;#" ows__ModerationStatus="0" ows__Level="1" ows_ID="3" ows_UniqueId="3;#{6AF6D7DA-0D87-45EC-B002-AA0D153B6286}" ows_owshiddenversion="1" ows_FSObjType="3;#1" ows_Created="2012-01-11 12:21:26" ows_PermMask="0x7fffffffffffffff" ows_Modified="2012-01-11 12:21:26" ows_FileRef="3;#Lists/Team Discussion/Hello"/> 
        <z:row ows_Title="Bite Me" ows_ItemChildCount="1;#1" ows_Body="&lt;div class=&quot;ExternalClass76A3DB4368714038B6B75DB0D807240B&quot;>&lt;p>​Really?&lt;/p>&lt;/div>" ows_MetaInfo="1;#" ows__ModerationStatus="0" ows__Level="1" ows_ID="1" ows_UniqueId="1;#{336518DC-B806-4DFB-9483-AB8DBB6258B6}" ows_owshiddenversion="1" ows_FSObjType="1;#1" ows_Created="2012-01-09 14:16:29" ows_PermMask="0x7fffffffffffffff" ows_Modified="2012-01-09 14:16:29" ows_FileRef="1;#Lists/Team Discussion/Bite Me"/> 
       </rs:data> 
      </listitems> 
     </GetListItemsResult> 
     </GetListItemsResponse> 
    </soap:Body> 
</soap:Envelope> 

EDIT: Chacun des montants ci-dessus devraient également avoir une réponse.

+0

Quelle version de SharePoint était-ce? –

+0

Je travaille avec 2010 atm n'a pas essayé 2007 mais devra à un certain stade – eaglestorm

Répondre

3

J'ai finalement trouvé la requête magique. Il semble que les sous-dossiers ne sont renvoyés que lorsque vous ajoutez une requête basée sur la date, c'est-à-dire que cette demande de savon fonctionne.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.microsoft.com/sharepoint/soap/"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <soap:GetListItems> 
     <!--Optional:--> 
     <soap:listName>969E0130-5727-4E7D-A908-B3A5BC447E24</soap:listName> 

     <soap:viewFields> 
       <ViewFields> 
      <FieldRef Name='Title'/> 
      <FieldRef Name='Created'/> 
      <FieldRef Name='Author'/> 
      <FieldRef Name='Body'/> 
     </ViewFields> 
     </soap:viewFields> 

     <soap:query> 
      <Query> 
     <Where> 
      <Geq> 
       <FieldRef Name='Created' /> 
       <Value Type='DateTime'>2010-08-20T14:00:00</Value> 
      </Geq> 
     </Where> 
     <OrderBy><FieldRef Name='ThreadIndex' Ascending='true' /></OrderBy> 
     </Query> 
     </soap:query> 

    <soap:queryOptions> 
      <QueryOptions> 
     <ViewAttributes Scope="RecursiveAll" IncludeRootFolder="False" /> 
     </QueryOptions> 
     </soap:queryOptions> 
     </soap:GetListItems> 
    </soapenv:Body> 
</soapenv:Envelope> 

Les éléments essentiels sont l'élément de requête avec la date et l'option de requête pour spécifier que la requête est récursive.

imho ne devrait pas avoir besoin de la requête car elle devrait tout retourner par défaut.

L'option de dossier répertoriée dans l'autre article n'a pas fait de différence pour moi.

0

Avez-vous vérifié cet article:

Comment accéder à SharePoint forum de discussion de l'utilisation des services Web
http://geekswithblogs.net/kobush/archive/2007/03/12/108545.aspx

+0

Ouais ne fonctionne pas pour moi Je viens d'obtenir le plus haut niveau même en utilisant l'option de dossier et si vous lisez la documentation MSDN l'option de requête de dossier il utilise est seulement un filtre – eaglestorm

Questions connexes