why rest is better than soap code example
Example 1: soap vs rest
RESTful supports JSON, XML,
SOAP supports only XML
REST is faster than SOAP based web services
SOAP is more secure
REST allows a greater variety of data formats,
SOAP only allows XML.
1) SOAP
- Communication happens using XML only
- Request is sent to SOAP methods
- Documentation is in WSDL (Wizdal)
- Heavy, more secure, more stable
- getting less popular
2) REST API
- Communication happens using Json, XML
- Requests are sent to API methods/urls using
- Communication happens in HTTP(Internet)
- Lightweight, stable
- Easy to develop and automate
- very popular
Example 2: what is soap
It has strict rule on how to send request and response.
Soap Request use XML format to send and receive response
Only method allowed in SOAP is POST
The content type is always xml
Body is enclosed in envelop like structure for example :
Sample Post request to turn number into word
POST https://www.dataaccess.com/webservicesserver/NumberConversion.wso
Header : text/xml; charset=utf-8
Body :
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<NumberToWords xmlns="http://www.dataaccess.com/webservicesserver/">
<ubiNum>123456789</ubiNum>
</NumberToWords>
</soap:Body>
</soap:Envelope>
Response
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<m:NumberToWordsResponse xmlns:m="http://www.dataaccess.com/webservicesserver/">
<m:NumberToWordsResult>one hundred and twenty three million four hundred and fifty six thousand seven hundred and eighty nine </m:NumberToWordsResult>
</m:NumberToWordsResponse>
</soap:Body>
</soap:Envelope>