SiteData.asmx does not return any resources on SharePoint Online

Sayaka Kuroki 21 Reputation points
2021-09-21T07:58:38.813+00:00

We're using SOAP API to get SharePoint Online data. I know SOAP API is deprecated but it works for a long time as same as SharePoint (On-Prem) servers.

From this weekend, SiteData.asmx does not return any resources. Was there any update about this SOAP API? We didn't change any configurations from last week.
I can call other API as expected, such as Lists.asmx. Also I confirmed the entire flow by testing my SharePoint (On-Prem) server.

We call SiteData.asmx API as follows.

Request:

  • POST https://<tenant>.sharepoint.com/_vti_bin/SiteData.asmx
  • Header: "Content-Type: text/xml"
  • Body:
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <GetContent xmlns="http://schemas.microsoft.com/sharepoint/soap/">
    <objectType>List</objectType>
    <objectId><List UUID></objectId>
    <folderUrl/>
    <itemId>-1</itemId>
    <retrieveChildItems>true</retrieveChildItems>
    <securityOnly>false</securityOnly>
    </GetContent>
    </soap:Body>
    </soap:Envelope>

Response:

  • Body:
    <GetContentResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <GetContentResult />
    </GetContentResponse>

If someone can provide any response for this matter promptly, it would be appreciated. Thanks in advance.

SharePoint
SharePoint
A group of Microsoft Products and technologies used for sharing and managing content, knowledge, and applications.
9,593 questions
0 comments No comments
{count} votes

4 answers

Sort by: Most helpful
  1. Sayaka Kuroki 6 Reputation points
    2021-09-30T02:02:01.923+00:00

    @Frederic LARDE

    Thanks to our customers, they escalated to Microsoft and the API change seems to be reverted. I verified our product is working fine now.

    Thanks for your comment to sort out the situation!

    1 person found this answer helpful.

  2. Frederic LARDE 26 Reputation points
    2021-09-21T15:12:27.997+00:00

    I have the same issue and I didn't find any changelog/release note talking about this new behavior.

    0 comments No comments

  3. RaytheonXie_MSFT 30,991 Reputation points Microsoft Vendor
    2021-09-22T05:55:57.843+00:00

    Hi @Sayaka Kuroki ,
    Per my test ,We can use the following sample to get content
    POST /_vti_bin/SiteData.asmx HTTP/1.1
    Host: xxx.sharepoint.com
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    SOAPAction: "http://schemas.microsoft.com/sharepoint/soap/GetContent"

    <?xml version="1.0" encoding="utf-8"?>  
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">  
      <soap:Body>  
        <GetContent xmlns="http://schemas.microsoft.com/sharepoint/soap/">  
          <objectType>VirtualServer or ContentDatabase or SiteCollection or Site or List or Folder or ListItem or ListItemAttachments</objectType>  
          <objectId>string</objectId>  
          <folderUrl>string</folderUrl>  
          <itemId>string</itemId>  
          <retrieveChildItems>boolean</retrieveChildItems>  
          <securityOnly>boolean</securityOnly>  
          <lastItemIdOnPage>string</lastItemIdOnPage>  
        </GetContent>  
      </soap:Body>  
    </soap:Envelope>  
    

    And it will return like following
    HTTP/1.1 200 OK
    Content-Type: text/xml; charset=utf-8
    Content-Length: length

    <?xml version="1.0" encoding="utf-8"?>  
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">  
      <soap:Body>  
        <GetContentResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/">  
          <GetContentResult>string</GetContentResult>  
          <lastItemIdOnPage>string</lastItemIdOnPage>  
        </GetContentResponse>  
      </soap:Body>  
    </soap:Envelope>  
    

    If an Answer is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


  4. Frederic LARDE 26 Reputation points
    2021-09-22T07:28:06.437+00:00

    I confirm that it doesn't work on xxx:

    query:

    POST /_vti_bin/SiteData.asmx HTTP/1.1
    Host: xxx.sharepoint.com
    Content-Type: text/xml; charset=utf-8
    SOAPAction: "http://schemas.microsoft.com/sharepoint/soap/GetContent"
    Host: xxx.sharepoint.com
    Content-Length: 391
    
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
       <soap:Body>
         <GetContent xmlns="http://schemas.microsoft.com/sharepoint/soap/">
           <objectType>Site</objectType>
         </GetContent>
       </soap:Body>
    </soap:Envelope>
    

    response:

    <?xml version="1.0" encoding="utf-8"?>
    <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>
            <GetContentResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/">
                <GetContentResult />
            </GetContentResponse>
        </soap:Body>
    </soap:Envelope>