Basic operations (for SOAP web services)
If you publish a page as a SOAP web service, it has a set of default operations that are exposed to consumers of the web service.
Note
Instead of exposing UI pages as web service endpoints, use API pages or API queries because they've been optimized for this scenario. For more information, see Writing efficient Web Services
These operations match the actions a user can perform by interacting with a page using the Business Central client. The same page- and table-based business logic is run.
The following table lists the operations and provides links to reference pages.
Pages that are backed by virtual tables aren't editable through web services. When such pages are published as SOAP web services, the only operations that are available are Read, ReadMultiple, and IsUpdated.
The term entity that is used in the operation signatures describes the data type that is used. The actual entity is defined by the page that is exposed because it contains all controls that are defined on the page. The controls are normally bound to the page's source table. The entity also contains a key that is a special string that uniquely identifies the source table record with a timestamp. This key is used as an argument in many page operations.
All basic page operations are atomic, which means that either all relevant records are affected or no records are affected, even if there was a faulty condition in only one record.
Operation | Description and signature |
---|---|
Create Operation | Creates a single record.void Create(ref Entity entity) |
CreateMultiple Operation | Creates a set of records.void CreateMultiple(ref Entity[] entity) |
Delete Operation | Deletes a single record.bool Delete(string key) |
Delete_part Operation | Deletes a subpage of the current page.bool Delete_<part>(string key) |
GetRecIdFromKey | Converts a key, which is always part of the page result, to a record ID.string GetRecIdFromKey(string key) |
IsUpdated Operation | Checks if an object has been updated since the key was obtained.bool IsUpdated(string key) |
Read Operation | Reads a single record.Entity Read(string no) |
ReadByRecId Operation | Reads the record that is identified by RecId. You can use GetRecIdFromKey to obtain a record ID. If the record isn't found, then the operation returns null.Entity ReadByRecId(string formattedRecId) |
ReadMultiple Operation | Reads a filtered set of records, paged.Entity [] ReadMultiple(Entity_Filter[] filterArray, string bookmarkKey, int setSize) |
Update Operation | Updates a single record.void Update(ref Entity entity) |
UpdateMultiple Operation | Updates a set of records.void UpdateMultiple(ref Entity[] entity) |
Note
Support for SOAP endpoints is deprecated in Business Central and will be removed in an upcoming release. Start to move your solutions to use either ODataV4 or API pages/queries. API pages/queries are recommended.
Support for publishing Microsoft UI pages as SOAP web services will be removed in Business Central 2026 release wave 2 (version 29.0). Starting in version 26.0, Microsoft UI pages can't be published as SOAP web services unless the Feature: Disable SOAP web services on Microsoft UI pages key in Feature Management is turned off. Learn more Disable SOAP web services on Microsoft UI pages feature key.
Learn more about the removal timelines in Deprecated Features in the Platform - Clients, Server, and Database.
Related information
Web service performance
Troubleshoot web service errors
Web service telemetry
SOAP Web Services