What is SOAP? Explain its purpose?
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.
What are the types of information included in SOAP header?
Header of SOAP contains information like that,
- In SOAP header client should handle authentication and transaction.
- The SOAP message should process by client.
- EncodingStyle is also has in header.
How can you explain HTTP Binding in SOAP?
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:
- Content-Type
- Content-Length
- 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.
Syntax:
Content-Type MIMEType;
charset=character-encoding
Example:
POST /item HTTP/1.1
Content-Type application/soap+xml; charset=utf-8
- 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.
Syntax:
Content-Length: bytes
Example:
POST /item HTTP/1.1
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 250
Explain the difference between fault and exception in Apache SOAP?
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
What are the software components that we must used to build a SOAP server?
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.
What is SOAP and how we can utilize this with Web components?
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.
What are the element that we used in SOAP?
- An envelope element is used to identify and translates the XML document into a SOAP message.
- A header element is used to contain header message.
- A body is used to contain call and response message.
- Fault element is used to communicate about the errors occurred during the process.
What are the disadvantages of SOAP?
Some disadvantages
- It is much slower than middleware technologies.
- Because we used HTTP for transporting messages and not use to defined ESB or WS-Addressing interaction of parties over a message is fixed.
- Application protocol level is problematic because usability of HTTP for different purposes is not present.
What are the advantages of SOAP?
The main advantages of SOAP are given below:
- SOAP has huge collection of protocols
- SOAP is an platform and independent.
- SOAP is an language independent.
- Most important feature of SOAP is that it has Simple and extensible by nature.
Can you explain the role of XML in SOAP?
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.
How can you explain HTTPS in SOAP?
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.
How you define Transport methods in SOAP?
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).
How we can say that SOAP is different from traditional RPC?
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.
What do you mean by ESB?
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.
What is SOAP?
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.
What is the function of SMON?
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.
Give examples where SOAP is used?
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.
What are transport methods in 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>
Explain about the syntax rules in SOAP?
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.
What are the Transport methods in SOAP?
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
Explain about an example about the functioning of SOAP?
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.
How is HTTPS used in SOAP?
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.
How is XML used in SOAP?
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.
List some of the pros and cons of SOAP?
Pros:
- It has huge collection of protocols
- It is platform and language independent
- Great for the Data Center (communications are strict and structured)
- Can Easily create strongly typed proxies within code from the WSDL
- Simplicity and extensible nature makes it the most wanted
Cons:
- Soap Messages are basically not Cacheable
- You can’t take a SOAP message and use it within JavaScript (where more and more of our code is being placed)
- SOAP is much slower than middleware technologies
- Due to the usage of HTTP for transporting messages and not the defined ESB or WS-Addressing interaction of parties over a message is fixed.