SOAP (Simple Object Access Protocol) is XML based messaging protocol. It provides data transport for web services. It is platform- and language-independent. SOAP is the XML way of defining what information is sent and how. SOAP is analogous to RPC (Remote Procedure Calls), used in many technologies such as DCOM and CORBA, but eliminates some of the complexities of using these interfaces.
SOAP is the acronym for Simple Object Access Protocol. XML based messages over a network of computers are exchanged by using SOAP standard, using HTTP. SOAP purpose: A web service needs a combination of XML, HTTP and a protocol which is application-specific. A web service uses XML data for exchanging. The weather service, stock quote service, look up service of postal department are all sending XML messages and receiving an XML reply. This is the pattern that dominates the web services. To perform these web services, SOAP is the reliable protocol. Header of SOAP contains information like that, 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 Host: 189.123.345.239 Content-Type: text/plain Content-Length: 200 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. 200 OK Content-Type: text/plain Content-Length: 200 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 Content-Length: 0 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: Syntax: Content-Type MIMEType; charset=character-encoding Example: POST /item HTTP/1.1 Content-Type application/soap+xml; charset=utf-8 Syntax: Content-Length: bytes Example: POST /item HTTP/1.1 Content-Type: application/soap+xml; charset=utf-8 Content-Length: 250 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. Some disadvantages The main advantages of SOAP are given below: XML use by many large companies due to its open source nature. XML is a standard format than it is accepted by much organization. There is a wide variety of tools are available on shelves which is use to ease the process of transition to SOAP. Significance of XML is that to reduce the speed and efficiency. Future format of XML is binary XML. We can say that HTTPS is similar to HTTP but the main difference b/w them is that HTTPS has an additional layer underneath the internet application layer which is use to make encrypted data. HTTPS protocol is much better and widely than other protocols like IOP or DCOM because these procols can filtered by firewalls. HTTP protocol provide us security when we want to transfer secured data by using advocates WS-I method. If we want to transfer messages from one end to another end using with Internet application layer. Using SOAP we can transport many products from one end to another end. To perform this task without any error we use one of SMTP and HTTP protocols (Used in transferring information). The main difference b/w SOAP and Traditional RPC are given below: In SOAP we used procedures which has named parameters and order is irrelevant Where as in XML-RPC order is relevant and parameters do not have names. ESB is stands for Enterprise Service Bus. ESB is standard based which is most important component of Service Oriented Architecture(SOA). Using ESB we can connect applications through service interfaces. SOAP, Simple Object Access Protocol is a communication protocol, a way to structure data before transmitting it, is based on XML standard. It is developed to allow communication between applications of different platforms and programming languages via internet. It can use range of protocols such as HTTP, FTP, SMTP, Post office protocal 3(POP3) to carry documents. Http-Get, Http-Post works with name/value pair which means transferring complex object is not possible with these protocols, whereas SOAP serializes complex structure, such as ASP.NET DataSets, complex arrays, custom types and XML nodes before transmitting and thus allows exchange of complex objects between applications. The SMON background process performs all system monitoring functions on the oracle database. Each time oracle is re-started, SMON performs a warm start and makes sure that the transactions that were left incomplete at the last shut down are recovered. SMON performs periodic clean-up of temporary segments that are no longer needed. Remote methods over multiple platforms and technologies are used with HTTP. SOAP is XML based protocol and platform-agnostic. Each application uses different technology. This may cause problems with proxy server and firewalls. SOAP is the solution for this situation. Industries transport the request for finding best route and best cost price. So the application transfers a request to other similar services which uses SOAP. Application layer and transport layers of a network are used by SOAP. SMTP and HTTP are the valid application layer protocol uses as transport for SOAP. Wider acceptance is gained by HTTP, as it works better with the current internet infrastructure, especially with firewalls. Different application running on different types of operating systems and using different technologies. Example: To find company details, a SOAP request GetCompanyDetail() is sent to the server with the company id as the parameter. In response, details of company are returned via XML. SOAP request <?xml version=”1.0″?> <soap:Envelope xmlns:soap=http://www.w3.org/2001/12/soap-envelope soap:encodingStyle=”http://www.w3.org/2001/12/soap-encoding”> <soap:Body xmlns:m=”http://www.example.org/ company “> <m: GetCompanyDetail > <m:CompanyID>1234></m:CompanyID > </m: GetCompanyDetail > </soap:Body> <soap:Envelope> <h5>SOAP response</h5> <?xml version=”1.0″?> <soap:Envelope xmlns:soap=http://www.w3.org/2001/12/soap-envelope soap:encodingStyle=”http://www.w3.org/2001/12/soap-encoding”> <soap:Body xmlns:m=”http://www.example.org/company”> <m: GetCompanyDetailResponse> <m:name>ABC</m:name> <m:revenue>20000</m:revenue> </m: GetCompanyDetailResponse > </soap:Body> </soap:Envelope> Some of the important syntax rules are as follows SOAP should be coded in XML SOAP envelope should be used for SOAP message A SOAP encoding namespace must be used by SOAP. A DTD reference and a XML processing instruction should not be contained. Internet application layer is used to transfer messages from one end to another end. Various products have been transported successfully from one end to another end using SOAP. Both SMTP and HTTP are two successful transport protocols Consider a hotel database with huge data ranges. If a user wants to search about a particular term, the message with all the required features such as price, availability, place, etc will be returned to the user in an XML formatted document which the user can integrate into third party site for additional performance used in transmitting information, but HTTP has gained good ground than HTTP. HTTPS is similar to HTTP but it has an additional layer underneath the internet application layer which makes the data encrypted. This protocol is widely used than IOP or DCOM because those protocols are filtered by firewalls. HTTPS protocol advocates WS-I method to provide security for transmission of secured data. XML is chosen as a standard format because it was already in use by many large companies and immensely due to its open source nature. A wide variety of tools are available on shelves which ease the process of transition to SOAP. XML can significantly reduce the speed and efficiency but binary XML is being considered as a format for future. Pros: Cons: What is SOAP? Explain its purpose?
What are the types of information included in SOAP header?
How can you explain HTTP Binding in SOAP?
Explain the difference between fault and exception in Apache SOAP?
What are the software components that we must used to build a SOAP server?
What is SOAP and how we can utilize this with Web components?
What are the element that we used in SOAP?
What are the disadvantages of SOAP?
What are the advantages of SOAP?
Can you explain the role of XML in SOAP?
How can you explain HTTPS in SOAP?
How you define Transport methods in SOAP?
How we can say that SOAP is different from traditional RPC?
What do you mean by ESB?
What is SOAP?
What is the function of SMON?
Give examples where SOAP is used?
What are transport methods in SOAP?
Explain about the syntax rules in SOAP?
What are the Transport methods in SOAP?
Explain about an example about the functioning of SOAP?
How is HTTPS used in SOAP?
How is XML used in SOAP?
List some of the pros and cons of SOAP?
Related posts:
- CSS3 Interview Questions and Answers
- DHTML Interview Questions and Answers
- Drupal Interview Questions and Answers
- HTML DOM Interview Questions and Answers
- HTML5 Interview Questions and Answers
- PHP Developer Interview Questions and Answers
- SoapUI Interview Questions and Answers
- UI Developer Interview Questions and Answers