SOAP Web Services are widely used since long time for offering robust and platform independent operations in a client server architecture. Despite a growing popularity of REST services, SOAP still remains well adopted and It is very important and crucial for Integration Professionals to have sound knowledge, understanding and experience of developing and consuming SOAP based web services.
For Software Developers in general and Integration professionals in specific; SOAP Web Services are one of the major technical area which is covered during Interview Questions for beginners as well as advanced level positions. In this post, we will talk about SOAP Web Services Interview Questions and Answers in detail.
Video: SOAP Web Services Interview Questions & Answers
If you prefer to read about SOAP Web Services Interview Questions and Answers in Text Format, Continue reading below:
Explain what is SOAP?
SOAP is a messaging protocol which relies on application level protocols like HTTP/HTTPS, JMS etc to enable client server communication. SOAP stands for Simple Object Access Protocol and it is based on XML specifications by having all request & response messages communicated in XML format.
What are the Elements of a SOAP Message?
A SOAP XML message consists of following elements:
* Envelope which acts as an identifier for XML as a SOAP Message. Envelope is a required element for any SOAP Message.
* Header which contains any additional header information as part of the messages. Header element is optional for SOAP XML Messages.
* Body element which contains actual content of request or response messages. Body element is a mandatory element.
* Fault Emenent which is available only in case of a fault response and is nested under Body Element as a child.
Explain what is a WSDL?
WSDL which stands for Web Service Description Language is XML based document which describes all the functionalities provided by a SOAP web service. WSDL files specify details about all operations, request & response structures as well as endpoint details for accessing those services.
What are the major elements of a WSDL?
Following are the elements of a WSDL:
* Types: Define XML Schema and data types used for the service operations.
* Message: Defines request and response and/or fault message elements for each operation.
* PortType: Defines all the operations available as part of the SOAP Service
* Binding: Defines protocol and data format specifications.
What’s the difference between an abstract WSDL and concrete WSDL?
An abstract WSDL contains information about web service operations, associated messages and data types but doesn’t contain any binding/transport information. Abstract WSDL is used on the server side to implement web service operations using Top Down approach. Abstract WSDL just defines what functionalities a web service has but doesn’t provide any information that how to contract it.
On the other hand, a contract WSDL contains all information as an abstract wsdl and on top of that, it also contains transport/binding details so that a client is able to invoke web service operations using the specified transport details.
What are the Advantages of Using SOAP Web Services?
* SOAP Services are application level protocol neutral and support multiple types of application level protocols e.g. HTTP/HTTPS, JMS, SMTP etc.
* With XML as its core, SOAP provides a greater level of control over data types, formats by utilizing XML related standards.
* With all Service Details, Service Contracts and data models well defined using a WSDL file; It becomes much convenient and easier for clients to consume SOAP operations with any payload discrepancies identified at client side.
What are the disadvantages of Using SOAP Web Services?
*SOAP is slower due to large payload size.
*SOAP is purely based on XML and doesn’t support JSON.
*Due to contract specifications, there is a tight coupling between Client & Server making it hard to change.
*SOAP relies on specific client applications and doesn’t have standard browser support contrary to REST.
What is the difference between RPC and Document Style SOAP Services?
In case of RPC style, WSDL is generated based on the operation names and associated parameters without type definitions in the WSDL document.
On the other hand, Document style contains types in the WSDL and can be validated against predefined schema.