Itgenoda267 Invalid JSON. A comma ',' was expected in scope 'Array' error

Hallo

We krijgen al enkele dagen volgend errorvermelding tijdens het herladen van de data:

#> An error occurred while processing the data in the dataset. De error leest “Invalid JSON. A comma ‘,’ was expected in scope ‘Array’ error.” wat doet vermoeden dat de data niet in het juiste JSON formaat wordt opgehaald?

Refresh failed:

Financial management report has failed to refresh.
Failure details: The last refresh attempt failed because of an internal service error. This is usually a transient issue. If you try again later and still see this message, contact support.

{“error”:{“code”:“DM_GWPipeline_Gateway_MashupDataAccessError”,“pbi.error”:{“code”:“DM_GWPipeline_Gateway_MashupDataAccessError”,“parameters”:{},“details”:{“code”:“DM_ErrorDetailNameCode_UnderlyingErrorCode”,“detail”:{“type”:1,“value”:“-2147467259”}},{“code”:“DM_ErrorDetailNameCode_UnderlyingErrorMessage”,“detail”:{“type”:1,“value”:“OData: Invalid JSON. A comma character ‘,’ was expected in scope ‘Array’. Every two elements in an array and properties of an object must be separated by commas.”}},{“code”:“DM_ErrorDetailNameCode_UnderlyingHResult”,“detail”:{“type”:1,“value”:“-2147467259”}},{“code”:“Microsoft.Data.Mashup.ValueError.DataSourceKind”,“detail”:{“type”:1,“value”:“OData”}},{“code”:“Microsoft.Data.Mashup.ValueError.DataSourcePath”,“detail”:{“type”:1,“value”:“[WEBURLExactOnlineREST.Views.APOutstandingItemsPerFinancialPeriodUltimo@eol”}},{“code”:“Microsoft.Data.Mashup.ValueError.Reason”,“detail”:{“type”:1,“value”:“DataSource.Error”}}],“exceptionCulprit”:1}}} Table: Fact.

Next refresh for Financial management report is scheduled for March 7, 2024 23:00 UTC.

Deze melding geeft aan dat er een foutmelding is opgetreden tijdens het uitvoeren van de aanvraag. De foutmelding staat aan het einde van de uitvoer, maar doorgaans is het moeilijk die te bemachtigen.

De foutmelding kan gemakkelijker te vinden zijn in de Invantive Bridge Online monitoring of bij de Systeemberichten op Invantive Cloud. Is er een foutmelding te vinden in een van bovenstaande bronnen?

Volgende code itgenoda324

Try again on failing to retrieve text data of partition '1003465' after 65,359 ms using '***' of 'ExactOnlineREST.Incremental.GLAccountsIncremental'. Waiting for 11,892 ms and try again. Try #1 of 10; message ID '493d2e3d-d406-4cb1-8c1f-81aa25746a17'. Invantive.Data.ApiOverloadException: itgenoda267: The Exact Online service indicated that too many requests were made. Narrow down the search criteria, the number of rows requested or reduce the number of requests per minute on Exact Online. Refer to documentation of Exact Online for any applicable rate limits. (https://start.exactonline.be/api/v1/1003465/sync/Financial/GLAccounts?$orderby=Timestamp&$filter=Timestamp+gt+6675195554L&$select=Timestamp,AssimilatedVATBox,BalanceSide,BalanceType,BelcotaxType,Code,Compress,Costcenter,Costunit,Created,Creator,Description,Division,ExcludeVATListing,ExpenseNonDeductiblePercentage,ID,IsBlocked,Matching,Modified,Modifier,PrivateGLAccount,PrivatePercentage,ReportingCode,RevalueCurrency,SearchCode,Type,UseCostcenter,UseCostunit,VATCode,VATGLAccountType,VATNonDeductibleGLAccount,VATNonDeductiblePercentage,VATSystem,YearEndCostGLAccount,YearEndReflectionGLAccount) ---> System.Net.WebException: The remote server returned an error: (429) Too Many Requests.   at System.Net.HttpWebRequest.GetResponse()   at Invantive.Data.Providers.Http.HttpBasedProvider.DoRequest(GlobalState owner, ExecutionOptions executionOptions, HttpWebRequest request, String url, ObjectDefinition objectDefinition, QueryObject queryObject, String partitionCode, String callSafeNameOverrule, String anonymizedPostText, Boolean allowRetryOnNoConnectionMade, Boolean allowRetryOnConnectionLoss, ParameterList parameters, Guid nativeCallUid, Boolean throwExceptionOnNonSuccessfulStatusCode, Object requestBody, Int64 timeoutInitialMs, Int64 timeoutMaxOnRetryMs, String resultCacheId, String publicQueryParameters, SqlExecutionStep sqlExecutionStep, ExecutionStatistics& executionStatistics, ODataErrorProcessingInstructions& oD...omise.CompleteTimedOut()   at System.Threading.TimerQueueTimer.Fire(Boolean isThreadPool)   at System.Threading.TimerQueue.FireNextTimers()   at System.Threading.ThreadPoolWorkQueue.Dispatch()   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()   at Invantive.Data.Providers.Http.HttpBasedProvider.DoRequest(GlobalState owner, ExecutionOptions executionOptions, HttpWebRequest request, String url, ObjectDefinition objectDefinition, QueryObject queryObject, String partitionCode, String callSafeNameOverrule, String anonymizedPostText, Boolean allowRetryOnNoConnectionMade, Boolean allowRetryOnConnectionLoss, ParameterList parameters, Guid nativeCallUid, Boolean throwExceptionOnNonSuccessfulStatusCode, Object requestBody, Int64 timeoutInitialMs, Int64 timeoutMaxOnRetryMs, String resultCacheId, String publicQueryParameters, SqlExecutionStep sqlExecutionStep, ExecutionStatistics& executionStatistics, ODataErrorProcessingInstructions& oDataErrorProcessingInstructions)   at Invantive.Data.Providers.Http.HttpBasedProvider.GetInternal(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, String relativeUrl, String mimeType, ObjectDefinition objectDefinition, QueryObject queryObject, String partitionCode, CacheSettings cacheSettings, String callSafeNameOverrule, Boolean allowRetryOnConnectionLoss, Boolean preventRetryOnAuthenticationFailure, ParameterList parameters, String dataContainerIdOverrule, Boolean throwExceptionOnNonSuccessfulStatusCode, ExecutionStatistics& executionStatistics, ODataErrorProcessingInstructions& oDataErrorProcessingInstructions, String publicQueryParameters, Boolean authenticate).The Exact Online service indicated that too many requests were made.The remote server returned an error: (429) Too Many Requests. Narrow down the search criteria, the number of rows requested or reduce the number of requests per minute on Exact Online. Refer to documentation of Exact Online for any applicable rate limits.

De melding die getoond wordt geeft dat de Exact Online API zegt dat er te veel gelijktijdige aanvragen worden gedaan.

Invantive heeft mechanismen ingebouwd om te voorkomen dat er te veel gelijktijdige aanvragen gedaan worden. Dit lijkt een fout in dat mechanisme of een aanpassing of meetfout aan de kant van Exact Online.

We zullen dit probleem verder analyseren om te kijken of vast te stellen vast waar het fout gaat.

We hebben verder geanalyseerd wat de oorzaak is van de genoemde problemen. Er worden inderdaad veel API calls gedaan naar Exact Online, zeker naar de XML API. Het lijkt er op dat de rate limiting van Exact Online daar onbetrouwbaar is qua metingen.

77% van de het totale aantal aanroepen naar Exact Online vannacht (zo’n 7.000) zat in de tabellen ExactOnlineXML.XML.APOutstandingItemsEx en ExactOnlineXML.XML.AROutstandingItemsEx, die gebruikt worden door de APOutstandingItemsPerFinancialPeriodUltimo en AROutstandingItemsPerFinancialPeriodUltimo views die aangeroepen worden. Dat komt doordat voor elke administratie elke financiële periode opgehaald wordt. Dit is zeer inefficiënt. De verwerkingstijd van alleen deze twee views is al 1,5 uur.

Met bovenstaande in gedachten is het het beste als eerste stap te kijken of de verwerking efficiënter gemaakt kan worden. Is het echt nodig van alle administraties alle voorgaande jaren elke nacht deze gegevens op te halen? Kan de verwerking geoptimaliseerd worden door bijvoorbeeld minder vaak deze data op te halen of voor een gedeelte van de administraties? Dit soort vragen zouden al dan niet samen met een consultant nagelopen kunnen worden om te kijken wat er verbeterd kan worden.

Zie mede: Itgenexl150: too many error requests bij ExactOnlineREST.Views.AROutstandingItemsPerFinancialPeriodUltimo - 3 van rbn8

Advies is om hierop actie te ondernemen.

Deze vraag is automatisch gesloten na 2 weken inactiviteit. Het laatste gegeven antwoord is gemarkeerd als oplossing.

Gelieve een nieuwe vraag te stellen via een apart topic als het probleem opnieuw optreedt. Gelieve in de nieuwe vraag een link naar dit topic op te nemen door de URL er van in de tekst te plakken.