Onbekende HTTP statuscode 599 van Exact Online OData server (itgenoda114)

Bij het ophalen van gegevens treedt een melding op over een onbekend antwoord vanuit Exact Online met HTTP statuscode 599:

Unknown HTTP status error from OData server with content:.
The remote server returned an error: (599) Unknown.

Deze foutmelding trad in het verleden hoogst incidenteel op:

  • 1x op 28 maart
  • 1x op 13 april

Op 3 en 4 juni is de foutmelding 15 en 16 keer opgetreden. Sinds 25 juni treedt hij dagelijks tientallen keren op.

De itgenoda114 melding treedt ondermeer op bij de volgende API’s:

  • purchase/PurchaseInvoiceLines
  • bulk/financial/TransactionLines
  • bulk/SalesInvoice/SalesInvoices
  • bulk/salesorder/GoodsDeliveryLines
  • bulk/SalesOrder/SalesOrderLines
  • bulk/SalesOrder/SalesOrders
  • financial/FinancialPeriods
  • financial/GLAccounts
  • financialtransaction/TransactionLines
  • logistic/Items
  • activities/Tasks
  • payroll/PayrollTransactionByPayrollYear

Op versie 17.32 kan hij zich ook manifesteren als itgenoda114 of itgenoda324.

De foutmelding treedt uitsluitend op bij de Exact Online REST API’s, en onafhankelijk of er een $select of $filter wordt meegegeven. De HTTP statuscode 599 komt terug bij tientallen gebruikers verspreid over honderden administraties.

Wat is HTTP Statuscode 599

De HTTP statuscode 599 is een HTTP statuscode die valt buiten de HTTP-standaard. Volgens een bron heeft ooit op Wikipedia de volgende uitleg gestaan:

This status code is not specified in any RFCs, but is used by Microsoft HTTP proxies to signal a network connect timeout behind the proxy to a client in front of the proxy.

Buiten Exact Online is deze melding in totaal twee keer voorgekomen op ActiveCampaign.

Oplossingsrichting

De HTTP statuscode 599 zal een eigen foutmeldingcode krijgen in de 20.1.478 release: itgenoda486, itgenoda487, itgenoda488, itgenoda489 of itgensql450 afhankelijk van de herkomst. Deze release is reeds in gebruik op Invantive Cloud.

Daarnaast zullen driver configuratie-opties met zinvolle defaults toegevoegd worden zodat bij operaties waar dat kan en logisch mag een aantal pogingen gewaagd zullen worden (tussen haakjes de code van de driverattribuut):

  • maximum aantal pogingen (download-error-599-network-connect-timeout-max-tries);
  • initieel slaapinterval (download-error-599-network-connect-timeout-sleep-initial-ms);
  • maximaal slaapinterval (download-error-599-network-connect-timeout-sleep-max-ms);
  • aangroeisnelheid slaapinterval (download-error-599-network-connect-timeout-sleep-multiplicator).

Tenslotte is een verzoek ingediend bij Exact Online om de optreedfrequentie te verlagen dan wel een tekstuele foutmelding toe te voegen in HTML of JSON-formaat.