Itgenoda378/itgeneor314: Could not retrieve the value of an additional column with name 'AttachmentFromUrl' of table 'DocumentAttachmentFiles'. Your session has expired. A document is no longer accessible

Update: dit wiki is op basis van onderzoek door Exact Online bijgewerkt. Zie onderaan.

Een document in Exact Online bestaat uit twee onderdelen:

  1. de metadata zoals het onderwerp en het gerelateerde gegevens zoals een factuur of relatie;
  2. de (bevroreren) bestanden.

Met de volgende Exact Online SQL query kunnen beiden opgevraagd worden:

select dae.AttachmentFromUrl file_contents
,      dct.Subject
,      dct.TypeDescription
,      dae.FileName
,      dae.id
from   exactonlinerest..documentattachmentfiles@eol dae
join   exactonlinerest..documents@eol dct
on     dct.id = dae.document

Echter, het komt voor dat er metadata en URL’s uit de Exact Online API via de tabellen Documents, DocumentAttachmentsFiles of DocumentAttachmentsFilesBulk terugkomen, waar geen fysiek bestand meer van bestaat. Dit lijkt alleen op te treden in de Nederlandse Exact Online omgevingen. Dat is mogelijk te relateren aan een andere opslagstructuur voor documenten in Nederland en België en het verwijderen van documenten.

Bij het opvragen van het gerelateerde document treedt een melding op zoals:

itgenoda378 (of itgeneor314):
Could not retrieve the value of an additional column with name ‘AttachmentFromUrl’ of table ‘DocumentAttachmentFiles’.
Your session has expired.
A document is no longer accessible.

De onderliggende fout uit Exact Online die samen met de HTTP statuscode 401 teruggegeven wordt is:

<html>
  <head>
    <title>Object moved</title>
  </head>
  <body>
    <h2>
     Object moved to <a href="/docs/SysAccessDenied.aspx?Mode=0&amp;_Division_=123">here</a>.
    </h2>
  </body>
</html>

Dit betreft een datacorruptie. Advies is om een ticket in te dienen bij Exact Online support met het verzoek om documenten te laten verwijderen waarvan de bestanden niet meer opgehaald kunnen worden.

Via Invantive SQL kan deze foutmelding onderdrukt worden door ignore-document-download-errors op true in te stellen. Het valt niet uit te sluiten dat deze workaround soms faalt doordat een HTTP statuscode 401 teruggegeven wordt met een foutmelding die niet voldoet aan de specificaties van de API. Om die reden advies om de oorzaak op te lossen via Exact Online support.

Update 1 juni 2021

Exact Online heeft n.a.v. dit topic dieper naar de oorzaak gezocht. De conclusie is dat deze foutmelding alleen optrad indien het Apigee onderdeel van het API platform onder load was. De foutmelding A document is no longer accessible weerspiegelde niet de echte oorzaak. In de loop van april 2021 is de configuratie van de Exact Online API’s verbeterd en is het optreden van dit beschreven probleem niet meer gemeten.

In release 22.0 zal de foutmelding enigszins veranderd zijn, zoals:

Error itgeneor314: Could not retrieve the value of an additional column with name ‘AttachmentFromUrl’ of table ‘ExactOnlineREST.Documents.DocumentAttachmentFiles’.
Could not retrieve the contents of an attachment. The document is no longer available or you have no rights.
Your session has expired.
A document stored in Exact Online is no longer accessible.
The remote server returned an error: (401) Unauthorized.
Please log on again.
Please contact Exact Online support or run again while ignore-document-download-errors is enabled.
Document: fd62a43a-e7f2…7-85e7ef7e4599, FileName: RepGLCard.pdf, FileSize: 83851, ID: 0907428b-6e42…8-06f95d13c887, Url: https://start…ivision_=68465, Division: 68465, DivisionShortName: 2308, …

Wij proberen inkoopfacturen van Exact in Power BI te tonen. Dit doen we door middel van: ExactOnlineREST.Incremental.DocumentAttachmentFilesIncremental@eol.

Al verschillende threads gezien en gelezen over dit onderwerp. Na googelen op de foutmelding Itgeneor314 hier terecht gekomen. Onze intentie was om errors te verwijderen na het ophalen van gegevens, maar na 5 minuten kregen we de volgende foutmelding:

DataSource.Error:
OData: Request failed:
The remote server returned an error: (500) Internal Server Error.
(Een interne fout is opgetreden van de soort ‘DDC4AB’. Neem contact op met uw leverancier. (itgeneor314, 71e4f186-c2ff-4670-af27-ec62a14bc0ff))

Wat kunnen we doen om dit op te lossen?

Voor de echte foutmelding itgeneor314 is advies om deze niet vanuit Power BI te bekijken, maar altijd via Invantive Bridge Online Monitoring.

Advies is download nogmaals te proberen. Mocht het probleem dan niet meer optreden, dan was het een “glitch” in onze software en werkt het waarschijnlijk voor langere tijd weer.

Mocht het probleem zich herhalen, dan is advies om ook een poging te doen om DocumentAttachmentsIncremental op te halen.

Als dit laatste wel lukt, dan is advies contact op te nemen met Exact Online Support. Mogelijk zijn 1 of meerdere documenten in Exact Online corrupt qua opslag, en is actie vanuit Exact nodig.

Als dit laatste (ophalen DocumentAttachmentsIncremental niet lukt, dan is advies om contact op te nemen via e-mail met support@invantive.com om een medewerker van Invantive delegatie te kunnen geven ter analyse.

Als alternatief kunt u ook via https://get-my-report.com de documenten downloaden. Als het gaat om een of meerdere corrupte document(en), dan zal dit mogelijk wel lukken omdat die een andere dwarsdoorsnede volgt en daardoor mogelijk de corrupte document(en) niet raakt.