How to: Publish a Web Service
Web services are a lightweight way to make application functionality available to a variety of external systems and users. In Dynamics NAV, you can expose pages, codeunits, and queries as web services. When you publish Dynamics NAV objects as web services, they are immediately available on the network.
You can set up a web service in the Microsoft Dynamics NAV Windows client or the Microsoft Dynamics NAV Web client. You must then publish the web service so that it is available to service requests over the network. Users can discover web services by pointing a browser at the computer that is running Microsoft Dynamics NAV Server and requesting a list of available services. When you publish a web service, it is immediately available over the network for authenticated users. All authorized users can access metadata for Dynamics NAV web services, but only users who have sufficient Dynamics NAV permissions can access actual data.
Creating and Publishing a Web Service
The following steps explain how to create and publish a web service.
To create and publish a web service
Open the Microsoft Dynamics NAV Windows client or the Microsoft Dynamics NAV Web client.
In the Microsoft Dynamics NAV Windows client, in the Search box, enter Web Services, and then choose the related link.
In the Microsoft Dynamics NAV Web client, choose the Search for Page or Report button, enter Web Services, and then choose the related link.
In the Web Services page, choose New.
In the Object Type column, select Codeunit, Page, or Query.
Codeunit and Page are valid types for SOAP web services. Page and Query are valid types for OData web services.
In the Object ID column, select the object ID of the object that you want to expose. For example, to expose the customer card as a web service, enter 21.
If the database contains multiple companies, you can choose an object ID that is specific to one of the companies.
In the Service Name field, assign a name to the web service. For example, if you expose the customer card as a web service, enter Customers.
The service name is visible to consumers of your web service and is the basis for identifying and distinguishing web services, so you should make the name meaningful. If you are setting up integration with Microsoft Outlook using codeunit 5313, then you must use DynamicsNAVsynchOutlook as the service name.
Select the check box in the Published column.
When you publish the web service, in the OData URL and SOAP URL fields, you can see the URLs that are generated for the web service. You can test the web service immediately by choosing the links in the OData URL and SOAP URL fields. Optionally, you can copy the value of the field and save it for later use.
After you publish a web service, it is available on the Microsoft Dynamics NAV Server computer that you were connected to when you published. The web service is available across all Microsoft Dynamics NAV Server instances running on the server computer.
You can verify the availability of that web service by using a browser, or you can choose the link in the OData URL and SOAP URL fields in the Web Services window. The following procedure illustrates how you can verify the availability of the web service for later use.
To verify the availability of a web service
In your browser, enter the relevant URL. The following table illustrates the types of URLs that you can enter. For SOAP web services, use the following format for your URI.
Web service type Syntax Example SOAP https://Server:SOAPWebServicePort/ServerInstance/WS/CompanyName/services/ https://localhost:7047/DynamicsNAV110/WS/CRONUS International Ltd./services/ OData https://Server:ODataWebServicePort/ServerInstance/OData/Company('CompanyName') https://localhost:7048/DynamicsNAV110/OData/Company('CRONUS International Ltd.')
The company name is case-sensitive.
Review the information that is displayed in the browser. Verify that you can see the name of the web service that you have created.
When you access a web service, and you want to write data back to Dynamics NAV, you must specify the company name. You can specify the company as part of the URI as shown in the examples, or you can specify the company as part of the query parameters. For example, the following URIs point to the same OData web service and are both valid URIs.
https://localhost:7048/nav_server_instance/OData/Company('CRONUS International Ltd.')/Customer
https://localhost:7048/nav_server_instance/OData/Customer?company='CRONUS International Ltd.'