What is the difference between SOAP and REST services? Which one do you prefer & why? 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: Difference between SOAP and RESTful web services

RESTful:
	- is architectural style
	- stateless
	- requires HTTP
	- supports JSON, XML, HTML, CSV, plain text
	- easy documentation and easy to understand
	- efficient and faster
	- less bandwidth
	- less secure
	- Uses JAX-RS API for security

SOAP: 
	- ss XML based protocol itself
	- State or stateless
	- Can work with HTTP, SMPT(Simple Mailing Transfer Protocol), 
    FTP(File Transfer Protocol)
	- Only works with XML
	- Documentation is complex and hard to understand  
	- Slower than REST
	- More secure
	- Uses JAX-WS API for security
	- Platform and programming language independent

REST-Assured library helps us in testing our RESTful APIs easily. 
It integrates seamlessly with TestNG and JUnit. JSON Path and XML Path 
allows us to easily parse the response data and test specific elements. 
Since it uses Hamcrest matchers, there are many options to match actual 
result with expected data.

Tags:

Misc Example