SOAP which is a Simple Object Access Protocol is an XML-based messaging protocol. XML based language is platform independent and language independent. SOAP provides a way to communicate between applications running on different operating systems.It enables client applications to easily connect to remote services. SOAP is designed to be a new protocol for the decentralised, distributed environment. There are two types of SOAP requests. First is the Remote Procedure Call(RPC) request and second is the SOAP request which is document request.
In the above diagram customer request to the web services for its services through SOAP. If the request is normal the work will start to the process operation method ( operation()). after the operation flow begins the response will take place in the same way as the request. Here we use ServerSoapHandler to determine the customer. In operation() it has id and password (to identify customer) and data (i.e. the xml data).
- Heterogeneous: SOAP has ability to works on any platform i.e. on any operating system, with any programming language. That is why SOAP is a Heterogeneous.
- Platform Independent: In the above point we have describe about heterogeneous nature of web services. This allows a client and server, written in any language, on any platform, to be able to communicate with each other.
- Interoperability: SOAP allows interoperability. Interoperability is the ability of different information and software applications to communicate, exchange data, and use the information that has been exchanged.
- Security Issue: One of the biggest disadvantage of SOAP is the security. SOAP alone does not support security.
- Version Issues: The consumer and vendor will have to make sure they agree on the correct protocol version before message passing. if they both are using different protocol version then messaging sould not be possible.