C.0 SOAP versus REST API

The following table compares SOAP with REST:

SOAP

REST

Stands for Simple Object Access Protocol

Stands for Representational State Transfer

An XML based message protocol

Does not enforce message format

Follows stateful implementation

Follows stateless model

No error handling

Built-in error handling

Strongly typed, strict specification for implementation

Less restrictive about the implementation

Uses interfaces and named operations to expose business logic

Uses URI and methods to expose resources

Both SMTP and HTTP are valid application layer protocols used as Transport for SOAP

Tied to the HTTP transport model

More verbose

Less verbose

Uses WSDL for communication between consumer and provider

Uses XML or JSON to send and receive data

Invokes services by calling RPC method

Invokes services through URL path