Project Server 2013: OData gives a Data Model error in Excel with large datasets

And to be fair – the datasets do not need to be that large – just going over our paging limits of 100 records will trigger this bug.  In Project Server 2013 we introduced some fixes in the March 2015 Update which were intended to get parity between the OData experience in Project Online and Project Server 2013.  Historically we have seen lower OData usage for reporting in Project Server 2013 as other options are available – but we realized that partners particularly were wanting the same experience in both scenarios as they were developing for Online and on-premises customers.  Also many new partner solutions are making use of the OData feeds – and can be used by both Project Online and Project Server customers.  However, due to a miss-match of the fixes ported over we introduced an issue.

On to the error.  It will occur if the OData query needs to get to the second page of results – so going after the next page, or 101st record in most cases.  In Excel you will see this error.  “We couldn’t get the data from the Data Model.  Here’s the error message we got: The content of the data feed is not valid for an Atom feed.”  This example is using the http://server/PWA/_api/ProjectData/Projects Url to get the projects – and there are more than 100.

 

image

If you try the same endpoint in Internet Explorer then the first page will work, but using the Url from the last line of the output to get the next page worth of data – which will look something like this – <link rel="next" href="http://server/PWA/_api/ProjectData/Projects?$skiptoken=guid'b07b21b9-be6b-e411-80d5-005056806e8c'" /> will give you an error:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>

<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">

           <code />

           <message xml:lang="en-US">An error occurred while processing this request.</message>

</error>

The fix for this issue will be shipped in the June 2015 update.