Web Services Overview
Web services are software solutions that allow for interacting with machines residing on a network. In short, web services are nothing more than web pages for machines. They provide a standard way for a third party to request and receive data from a piece of hardware on the network without having to know anything about how that machine works.
There are two common approaches to Web Services in Ignition: making a HTTP (HyperText Transfer Protocol) method call, or making a SOAP (Simple Object Access Protocol) call.
HTTP methods, such as GET and POST, are called using the built-in system functions, such as system.net.httpGet().
SOAP is XML based, and typically requires a 3rd party Python library, such as SUDS. Note that SOAP requests are still served over HTTP: the data is simply wrapped in XML, and the resulting implementation in Ignition differs from straight HTTP calls as a result. Making web services calls via SOAP involves the use of a WSDL (Web Services Definition Language), which is an XML document describing the web service that can be called from the server.
The approach you choose typically depends on the server you're trying to make calls to.
One approach one common protocol is SOAP . Other programs interact with the service through an interface defined by a WSDL (Web Services Description Language) file. This WSDL describes how to talk with the device and what should be expected back in response. Messages to and from the web service are formatted XML and while you need very little knowledge of XML to use the SUDS library, many times a web service will return a formatted XML string that you will have to parse through manually in order to make the data presentable.
What about REST?
REST is an architectural style, which potentially uses one of the protocols mentioned above.