Web APi, Rest, Soap, Web Services 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.
Example 3: difference between soap and rest api
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