Web services make use of the standardized XML messaging system, which is not only easily available over the Web, but also to private networks. Anyone interested in following a career lane in web application development must have knowledge about web services.
Web Services Interview Questions
Here we have collected top web services interview questions that will help you prepare for your upcoming job interview. So, here we go:
Q: Please enumerate the various components of Web services.
A: Here are the components:
- Extensible Markup Language (XML)
- Resource Description Framework (RDF)
- Simple Object Access Protocol (SOAP)
- Universal Description, Discovery, and Integration (UDDI)
- Web Service Description Language (WSDL)
Q: Could you explain the term Interoperability in the context of Web services?
A: Generally, the term interoperability refers to the ability of two or more products or systems to work in tandem without any special requirements. In the context of web services, the term interoperability means communication and sharing data and services amongst applications.
Q: What do you understand by the various layers of the web service protocol stack?
A: There are a total of 4 layers in the web service protocol stack and each of them is responsible for certain tasks:
- Service Transport – This is the first layer in the web service protocol stack. It helps in transporting XML messages among various client applications. The following protocols are usually used by the layer:
- Block Extensible Exchange Protocol (BEEP)
- File Transfer Protocol (FTP)
- Hypertext Transport Protocol (HTTP)
- Simple Mail Transport Protocol (SMTP)
- XML Messaging – Based on the XML model, this is the layer where messages are encoded in the common XML format. The layer consists of:
- Simple Object Access Protocol (SOAP)
- Service Description – Consists of available functions, location, and data types of XML messaging. It describes the public interface to a specific web service and includes the WSDL.
- Service Discovery – Provides the way for publishing as well as finding web services over the Web. It includes UDDI.
Q: Do you know what the XML-RPC protocol is? Explain its features.
A: The XML-RPC is a remote procedure call responsible for calling a function or procedure available on a remote computer. In other words, the XML-RPC is a simple protocol capable of performing RPCs by means of XML messaging.
In addition to establishing connections among a variety of computers, the XML-RPC serves as an excellent tool for connecting distinct environments. Following are the various features of the XML-RPC protocol:
- Allows establishing communication amongst diverse applications
- Has small XML vocabulary for describing the nature of request and response
- HTTP Response has XML Response embedded in it
- Remote procedure calls are performed using simplistic XML
- Uses HTTP protocol in order to pass information between client and server computers
- XML encoded requests are sent through HTTP POST
Q: Can you explain the term UDDI and its features? What language does it use?
A: UDDI or Universal Description, Discovery, and Integration is an XML-based standard in the service discovery layer of the web service protocol stack. It uses Web Service Description Language (WSDL).
As the UDDI acts like a directory, it is used for finding and publishing web services over the web. Major features of UDDI are:
- Acts as a database containing all WSDL files
- Helps businesses discover and interact with each other over the Internet
- Open framework
- Uses COBRA, Java RMI, and SOAP protocols for establishing communication
Q: What do you mean by RESTful Web Services? What are the various advantages of the same?
A: REST is a contraction for Representational State Transfer. It is the stateless client-server architectural style for developing applications accessible over the Web. Web services using HTTP methods for implementing the REST architecture are called RESTful Web Services.
Data and functionality serve as resources accessed by the URI in the REST architectural style. RESTful Web Services have desirable properties like Modifiability, Performance, and Scalability. Following are the important advantages of using RESTful Web Services:
- Can be written in any programming language
- Capable of being easily tested over web browsers
- Fast and lightweight protocol, consumes less bandwidth and resources
- Has loosely coupled implementation
- Platform independent
- Provides support for an array of data formats, such as JSON and plain text, and technologies
Q: Please draw a comparison between SOAP and REST.
- Coupling – Web services and clients are tightly coupled in SOAP. Furthermore, it defines some standards meant to be followed strictly. Contrarily, REST doesn’t follow too many standards in addition to offering loose coupling
- Data Format and Preference – REST is preferred here and allows several data formats, like HTML and JSON. SOAP supports only the XML data format
- Intent – While SOAP serves as a standard protocol for creating web services, REST is an architectural style of building web services
- Java API – Java API for RESTful Web Services is JAX-RS while JAX-WS is the Java API for SOAP Web Services
- Requirement – REST demands less bandwidth and resources and uses URI for exposing business logic. SOAP, on the other end, requires more bandwidth and resources and uses service interfaces for exposing business logic
- Security – REST neither have a defined binding contract nor its own security methods. SOAP, however, uses WSDL contract for binding client programs and web services and has its own defined security methods.
- Testing – SOAP web services are tested using SOAPUI. On the other hand, web browsers and extensions, such as Chrome postman, are available for testing RESTful web services
Q: Could you name the core components of the HTTP request and HTTP response.
A: Core components of HTTP requests are:
- HTTP Version – Indicates version
- Request Body – Represents message content
- Request Header – Contains metadata, such as cache settings and client type, for the HTTP request message
- URI – Identifies the resource on the server
- Verb – Indicates HTTP methods such as GET, POST, and PUT
HTTP response has the following core components:
- HTTP Version – Indicates the present version of HTTP
- Response Body – Represents the response message content
- Response Header – Consists of metadata, like content length and server length, for the HTTP response message
- Status/Response Code – Indicates the server status for the requested resource
Q: What do you understand by the term statelessness in respect to RESTful Web Services? What are its advantages and disadvantages?
A: Following the REST architecture, a RESTful web service isn’t allowed to keep a client state on the server. This condition is known as statelessness. In such a situation, the client passes its context to the server. The server then stores the context for processing further client requests.
- Independent treatment of every method
- Simplified application design
- Works with the HTTP protocol
- Demands providing extra information about each request for interpreting the client state every time a client interaction takes place
Q: When designing a secure RESTful web service, what points should be followed?
- Execute DELETE, GET, POST, PUT, etc. methods with proper restrictions
- Invoke the HTTP generic message whenever and wherever required
- Pass sensitive data, like username and session token password, via the POST method. Never use it through the URL
- Perform user session based authentication each time a request is made
- Validate all inputs on the server from SQL injection attacks
Q: List the various advantages and disadvantages of SOAP.
- Allows communication between various applications
- Decouples the communication and encoding protocol from the runtime environment
- Defines as well as uses its own security dubbed WS security
- Eliminates firewall issues in addition to being vendor neutral
- Permits circulation of messages in a decentralized and distributed environment
- Platform as well as programming language independent
- Uses HTTP protocol and XML for sending and receiving messages
- Absence of security features
- Clients and web services are tightly coupled
- Defines standard meant to be followed strictly
- Inability to be tested on web browsers
- Lightweight formats, other than XML, aren’t supported
- Slower performance
Q: What are the various elements of a SOAP message?
- Body – Contains the call and response messages. Also defined as child element of the envelope that contains entire application derived XML data, which has been exchanged as a part of the SOAP message.
- Envelope – The mandatory root element. Translates the XML document and determines the start and end of the SOAP message.
- Fault Element – Handles the errors occurring during the processing of the messages. Appears as a child element of the body if the error is present.
- Header – Contains optional message header attributes containing specific application information. Intended to add new features and functionalities, this element can occur several times in a single SOAP message.
Q: Please explain what you understand by SOA.
A: SOA stands for Service Oriented Architecture. It is defined as an architectural pattern consisting of services. In SOA, application components provide services to other components via the communication protocol.
The communication might involve data exchange or some kind of coordination activity amongst services. Important key principles regarding SOA are:
- In addition to being standardized, the service contract must contain the entire description of the services
- In order to work with different application types, services should be reusable
- Loose coupling defines the less dependency between the web services and the client
- Must follow the Service Abstraction rule, according to which, the service shouldn’t expose the way functionality is executed to the client application
- Services should be stateless and must have the feature of discoverability
Q: What do you understand by WSDL?
A: WSDL or Web Service Description Language is a simple XML document present in the Service Description layer of the web service protocol stack. It describes the technical details or locates the UI to the web service. It contains the following important information:
- Header information
- Method name
- Method parameters
- Port types
- Service endpoint
Q: Enumerate the various primary security issues of Web services.
A: Here you will get the primary security issues:
- Authentication – Performed to verify the identity of a user and checking whether the user has the right to access the web service or not. It is also done with the intent of tracking user activity. Following options can be considered for authenticating:
- Application level authentication
- Client certificates
- HTTP digest and HTTP basic authentication
- Confidentiality – Any individual web service might have several applications. Their service path typically contains a potential weak link at its nodes. Hence, whenever messages or XML requests are sent by the client together with the service path to the server, the same must be encrypted.
- Network Security – Very important security issue necessitating tools for filtering web service traffic
Note: – In order to ensure reliable transactions as well as securing confidential information, web services demand a high level of security. It is achieved via the Entrust Secure Transaction Platform.
Q: What are the various elements of WSDL documents?
- Binding – Defines as well as determines the protocol as well as the data format for each port type
- Message – Defines the data elements for each individual operation. It could be the entire document or an argument yet to be mapped
- Operations – Defines the operations to be performed for processing a message
- Port Type – Defines the collection of operations which can be performed for binding
- Types – Defines the message data types, in the form of XML schema, used by the web services
Q: Is it possible to bind SOAP and WSDL?
A: Binding SOAP and WSDL is possible. It can be done using the following two attributes:
- Name – Defines the name of the binding
- Type – Defines the port for the binding
Q: Please explain the two attributes of the <Port> element in WSDL.
A: Each <Port> element is related to a distinct binding by defining an individual endpoint. A <Port> element has the following two attributes:
- Binding – Refers to the process of binding that has to be performed as per the linking rules defined by WSDL
- Name – Provides the unique name within the WSDL document
Q: What points should you consider while binding in WSDL?
A: While binding in WSDL, a port must not:
- Specify any kind of binding information other than the address information
- Specify more than one address
Q: Could you explain the various advantages of using Web services?
A: There are several advantages of using web services, the most notable of which are described as follows:
- Assists in exposing the extant functionalities over the network so that other applications can use them
- Easy to deploy, integrate and reuse
- Facilitates simple integration thanks to the loose coupling
- Low communication cost thanks to the use of SOAP over HTTP protocol
- Provides some kind of required functionality to client applications
- Supports interoperability, allowing applications to effortlessly communicate and share data as well as services with each other
- Uses the standardized web service protocol stack for communication
That completes the list of the important Web Services interview questions. Which ones did you know the answers to already? Which ones surprised you? Let us know via the dedicated comments window below. Also, you can ask your web services queries via the same.
People Might Also Interested In: