What's New: Server and Database - More Stable Web Services (2023 release wave 2)
Business Central 2023 release wave 2 changes to web service stability: OData editable property for Edit in Excel, HTTP 503 with retry-after on queue timeout, invalid metadata handling with partner telemetry, HTTP client error handling, and delta link removal planned for 2024 wave 1.
- Introduction: Web Services Stability Focus
- Editable Property in OData and Edit in Excel
- Server Return Codes and Retry Headers
- Invalid Metadata Handling and Telemetry
- Troubleshooting Guides and Power BI Telemetry
- Web Service Queuing and Telemetry Visibility
- HTTP Client Error Handling Best Practices
- Error Messages and Socket Optimization
- Upcoming Changes and Delta Link Deprecation
- Summary and Related Sessions
Overview
The session covers work in 2023 release wave 2 that made Business Central web services more stable rather than faster or richer in features. Changes include OData evaluating the editable property like the UI does, a 503 response with a retry-after header when a request times out in the queue, and ignoring endpoints with invalid metadata instead of failing all web services.
It also covers telemetry and documentation improvements: a page for failing web service endpoints, user agent, HTTP status code, exception and queue time data in Power BI telemetry, troubleshooting guides, HTTP client error handling guidance, clearer SSL error messages, and socket reuse. It closes with upcoming changes: a new default schema version for custom APIs and removal of delta link support in 2024 wave 1.
Key points
- OData V4 now evaluates the editable property like the UI, including calculated properties, so pages that previously failed in Edit in Excel can work. API pages should still be preferred over normal pages exposed to OData.
- When a request times out in the request queue, the server returns HTTP 503 with a retry-after header. Clients need retry logic to use it. Backported to version 22.2 and later.
- Invalid metadata, such as duplicate page names from multiple extensions, now causes only the problematic endpoint to be ignored. Partner telemetry is emitted, so monitor it instead of waiting for customer reports.
- Power BI telemetry now shows user agent, HTTP status codes, exceptions, AL call stacks and queue time for incoming web service calls. A telemetry page shows which web service endpoints fail and gives fix hints.
- For HTTP client failures that occur before a status code is returned, use get last error text to see URL, network and certificate errors. SSL error messages are now more specific.
- Socket reuse optimization for the HTTP client reduces VM port starvation with many outgoing calls. It needs no code changes and was backported to version 2.x.
- Delta link support will be removed in 2024 wave 1, and the default schema version for custom APIs will change. Stop using delta links and check custom API implementations.
Features
Every feature below: status not stated.
| Feature | At |
|---|---|
| Editable Property Support in OData for Edit in Excel | 0:39 |
| HTTP 503 Return Code for Request Queue Timeout | 1:58 |
| Invalid Metadata Handling with Telemetry Emissions | 2:58 |
| Web Service Endpoints Failure Telemetry Page | 3:39 |
| Troubleshooting Guides for HTTP Status Codes | 4:19 |
| User Agent Tracking in Power BI Telemetry | 5:20 |
| HTTP Status Code and Exception Telemetry in Power BI | 5:40 |
| Web Service Request Queuing Time Telemetry | 6:36 |
| HTTP Client Error Handling Documentation | 7:12 |
| HTTP Client Last Error Text for Troubleshooting | 8:52 |
| Improved SSL and Certificate Error Messages | 9:32 |
| Socket Reuse Optimization for HTTP Client | 10:33 |
| Custom API Schema Version Default Change | 11:11 |
| Delta Links Support Removal | 11:11 |
AL objects mentioned
As heard in the captions. A name that matches one object page by exact type and name links to it; the others stay as named.
Not found in BC28-30: page “sales orders page”, page “web service end points”.
Quotes
- 0:18 “we didn’t make it faster we didn’t make new features but we did actually make it a lot more stable”
- 1:58 “the server now returns return code 503 if your request waits in the request queue and you end up timing out and you will”
- 3:19 “the one that causes the failure is ignored and we emit partner Telemetry so you shouldn’t rely on your customer calling you anymore”
- 9:12 “we made that easier for you to troubleshoot if you use get last error text you can now simply copy that into your um”
- 11:11 “the schema version for custom apis will change its default and we are removing the support for Delta links”
- 12:07 “stop using Delta links the feature is deprecated as Yen showed in the last slide it’s going to be removed in 2024 Wave 1”
Disclaimers in the video
- 11:11 coming-later: Delta links support will be removed in 2024 Wave 1
Presenters (as heard): Yenni, Kenny.
