This page has a good collection of SOAP interview questions and answers. At the end of this section there is a PDF guide about SOAP which will give some more insights on SOAP web Services.
Header of SOAP contains information like that,
1. In SOAP header client should handle authentication and transaction.
2. The SOAP message should process by client.
3. EncodingStyle is also has in header.
Let us start with and example to inform you HTTP perform communication over TCP/IP.And TCP HTTP client can connect to an HTTP server.
When connection will established than using that connection client can send an HTTP request message to the server.
POST /item HTTP/1.1
Server processes this request and sends an HTTP response back to the client. The response contains has a status code that are use to indicate the status of the request.
This server returned a status code of 200.This is also called as standard success code for HTTP.
If the server has unable to decode the request, it can returned something like.
400 Bad Request
SOAP HTTP Binding: We use SOAP method to complies with the SOAP encoding rules.
HTTP + XML = SOAP
A SOAP request may be an HTTP POST or an HTTP GET request.
HTTP POST request specifies at least two HTTP headers:
1. Content-Type: In case of Soap request and response, Content-Type header defines the MIME type for the message and the character encoding ( that is optional) used only for XML body of the request or response.
POST /item HTTP/1.1
Content-Type application/soap+xml; charset=utf-8
2. Content-Length: Using Content-Length header we specifies the number of bytes in the body of the request or response for a SOAP request and response.
POST /item HTTP/1.1
Content-Type: application/soap+xml; charset=utf-8
Difference b/w the fault and exception depends upon where these error occurs, may be they occour on client side or on server side.
Exception occurs on client side where as faulut occur on server side.
I have explain you with an example.We send an SOAP encoded request for which method that does not exist results in a SOAP fault whereas when server sends a response with a field that does not exist in a client side class
XML processor and HTTP Server are mandatory when you want to build SOAP Server.We have to use some other tools when you deal with different language.
When you deal with Visual Basic 6.0 or VBA than you must have to use either Microsoft SOAP TOOLkit or PocketSOAP.
When you deal with VB.Net or C# than you must have to use Visual Stdio.Net or .Net Framework.
When you deal with Delphi than you have to use Borland’s Web services.
When you deal with C++ than you have to use Systinet WASP Server for C++ or gSOAP.
When you deal with Java,Than their is a many choices for you like: Apache Axis, Systinet WASP Server for Java, The Mind Electric GLUE, Cape Clear Cape Connect, BEA Workshop, etc.
Most likely Java environments are WASP, GLUE, and Axis.
SOAP is stands for Simple Object Access Protocol. SOAP was first comes in 1990 after that in 2000 it introduced to W3C.
In Web Component we use SOAP to send an request for to invoke programs on remote computers with using XML wrappers.
The main purpose to use SOAP in Web Service is that to send messages over HTTP protocol.
1. An envelope element is used to identifies and translates the XML document into a SOAP message.
2. A header element is used to contain header message.
3. A body is used to contain call and response message.
4. Fault element is used to communicate about the errors occurred during the process.
Some disadvantages .
1. It is much slower than middleware technologies.
2. Because we used HTTP for transporting messages and not use to defined ESB or WS-Addressing interaction of parties over a message is fixed.
3. Application protocol level is problematic because usability of HTTP for different purposes is not present.