
I know these are alot of questions(It looks scary but it's not) It will help me a lot in checking if i understood everything correctly? So please answer all of my questions in each point:
**Please i need your own simple words to answer these questions and not a link because i did a lot of reading.
1) A web service is an api (the opposite is not true) where it is used to make two applications connect with each other over the internet.So if computer A wants to connect through it's client (visual studio) to another computer (computer B), then it has to connect to computer B server through it's web service that it's hosting. And how do i call this service? i need to call the URL and this URL will call the web service. Correct?
2) An API is the same as the web service concept but it has the option to connect different applications in a way other that the internet. But can you give me an example?
3) Some say a web service is the same as soap based service while others say that web services has two types: json-based or soap-based. Which one is the correct one?
4) Soap - based service: is the same as i wrote in point (1) but this web service contains the data that needs to be transferred between two applications, this data needs to be in XML. So to transfer the data, soap based services will use SOAP (a protocol to define the structure of the XML message). Correct? and this is done over http or https only?
now in AX12, to be able to call this service correctly, you need to know the location of the service and what it does. So this is done by the help of WSDL (an XML file). So now when you you create a project in visual studio, C# for example and reference this service. You'll write code that calls a certain method from the service. So let's say i wrote: serviceReference1.retrieveIds(); Which means the client now called the web service (we mentioned the data should be xml). My question is who converted my request (retrieveIds()) to XML? the webService, my client or the WSDL?
5) The benefit of WSDL is that if two applications with different languages want to connect with each other, there is no need to do code for each time the language changes, you just use the WSDL because all languages understand XML? correct?
6) now in D365FO, there is no WSDL. So when i write code in C# and call a method using a certain URL, who will do the XML conversion?
1) Web service will have methods that you can call, from a service client application, where the service will process the method you ask to run and return results back to client
2) They are different kinds of endpoints e.g. docs.microsoft.com/.../services-home-page
3) web service can be run using different standards like soap or restful api
4) Soap based services have their own message format which is written in xml. If the service is hosted on a server using https then you need to use https or whatever the protocol is defined as (net.tcp/msmq etc)
5) WSDL is used to define the web service. A developer just needs the WSDL to know what methods they can call and what parameters it needs
6) WSDL is still there
There are various books & online articles discussing the different services protocols