Use SOAP web services

Completed

With SOAP web services, you can access data from Business Central in other applications by using SOAP. When you need to define a formal contract between the server and the SOAP client, or if your client application doesn't work with REST services, then SOAP web services could be more advantageous than OData.

Microsoft has heavily invested in REST and OData, certainly with online apps like Power BI, Power Apps, and Power Automate. Therefore, at this point, SOAP services are no longer the primary choice for web services, but they're still available and enabled.

You can find the available SOAP web services on the same page as the OData web services, and you can always create a new service. To get a list of all available SOAP web services or to create a new web service, you can enter web services in the search box.

  1. Select the search icon in the upper-right corner.

  2. Enter web services in the Tell me what you want to do search box.

  3. Select Web Services in the displayed list.

The page that displays all available web services will be used to enable access to OData and SOAP web services. Web services in Business Central are based on existing objects like pages, queries, and codeunits. A SOAP web service can only be used with the Page and Codeunit object types, not with Query types. Each published object will generate a link that you can use to access the web service.

Screenshot of all available Web Services used to enable access.

To add a new OData web service, select the New button in the menu and then select the Object Type. For SOAP, you can choose either Page or Codeunit. Select the Object ID and give the service a name. In the following example, the Customer Card object is used to expose the customer records as a SOAP web service, which is named Customers. Finally, select the Published check box. After you've selected the Reload button in the menu, Business Central will generate a SOAP link.

Screenshot of the web service with the published check box marked.

The link that is generated always follows the same structure.

https://api.businesscentral.dynamics.com/v2.0/<tenant>/WS/<service>

For the sandbox environment, you can use the following structure.

https://api.businesscentral.dynamics.com/v2.0/<tenant>/sandbox/WS/<service>