Modern web applications are developed using a variety of platforms and frameworks. Also, they are developed using different programming languages, such as Java, Python, JavaScript, and PHP. Since web applications are developed using different technologies, it becomes challenging to ensure effective communication between different web applications, and this is where web services come into play.
A web service is a standardized method for exchanging messages between client and server applications. It is a collection of open standards and rules that enable data exchange between different systems or applications.
This article provides a curated list of the most commonly asked Web services interview questions, along with their answers. By going through these Web services interview questions, it will become easier for you to ace your next interview.
However, let us first discuss briefly what exactly a web service is.
What is a Web Service?
A Web service (WS) is a service that acts as a medium of communication among different web applications developed using different programming languages. Alternatively, a Web service can also be thought of as a piece of software that uses a standardized XML messaging system and makes itself readily available over the internet and private networks.
Top Web Services Interview Questions and Answers
Let us discuss Web services interview questions along with their detailed answers, starting from beginner-level to advanced.
Beginner-Level Web Services Interview Questions
1. What do you mean by a Web service?
The following are some common definitions of Web services:
- According to the World Wide Web Consortium (W3C), Web services provide a standard medium for interoperating between software applications developed in different languages and running on different platforms and frameworks.
- Web applications interact with other web applications with the sole purpose of data exchange by using a set of standard protocols, such as XML, HTTP, SOAP, etc.
- We can state Web services as client-server applications communicating with each other or exchanging data over a network.
2. Explain the features of Web services.
The following are the salient features of Web services:
- XML-based: Web services use XML at their information representation and record transportation layers, which eliminates the need for networking, platform, and operating system binding.
- Loosely coupled: A customer of a particular Web service doesn’t need to be directly linked or tied to that service. The user interface of that Web service can change without affecting the customer’s ability to interact with it. A tightly coupled system means the client and server and their decisions are closely linked to each other, i.e., if the user interface of either a client or server changes, the other should also be updated. Therefore, having a loosely coupled architecture is flexible and makes software systems more manageable.
- Can be Synchronous or Asynchronous: Web services can be synchronous or asynchronous. If a Web service is synchronous, a client is bound to the execution of the service. The client is blocked and has to wait until the service finishes its execution before moving forward in synchronous invocations. On the other hand, if a Web service is asynchronous, a client can invoke a service and perform other functions, meaning that a client is not bound to the execution of a service. Therefore, asynchronous capability is one of the key factors in enabling loosely coupled systems.
- Support for Remote Procedure Call (RPC): Web services allow us to call methods, procedures, and functions on remote objects using the XML-based protocol. A Web service must support the input and output parameters exposed by remote procedures.
3. State the advantages of Web services.
The following are the advantages of Web services:
- Web services enable communication between web applications developed using different programming languages.
- A single Web service can be used by multiple client applications.
- Web services use a standard protocol for communication so that all client applications developed in different languages can understand it.
- Web services can be developed using the existing low-cost internet connection since they use the SOAP over HTTP protocol.
4. Can you tell the types of Web services?
There are two types of Web services, namely SOAP and RESTful.
SOAP: SOAP stands for Simple Object Access Protocol. It is a messaging protocol that uses the XML format for exchanging information. It is a World Wide Web Consortium (W3C) recommendation for communication between web applications. SOAP provides a wrapper to send web service-based messages over the internet using the HTTP protocol. All messages are in XML format.
RESTful: REST stands for REpresentational State Transfer. It is a software architectural style especially created for guiding the design and development of World Wide Web (WWW) architecture. It defines a set of rules or constraints on how the architecture of the web should behave. RESTful is a web API that follows all REST constraints. Its primary goal is to make Web services more effective.
5. What is a Web service protocol stack?
A Web service stack is a protocol stack or a stack of computer networking protocols used for defining, locating, implementing, and making Web services interact with each other. There are four different protocols included in a Web service stack protocol, as described below:
- Transport Protocol: This protocol is responsible for transmitting messages between different network applications. It includes various protocols, such as SMTP, FTP, HTTP, and Block Extensible Exchange Protocol (BEEP).
- Messaging Protocol : This protocol encodes messages in a common XML format, making it easier for both ends of a network to understand those messages. Messaging protocols include SOAP, WS-Addressing, and XML-RPC.
- Description Protocol: It describes the public user interface to a particular Web service using the WSDL interface format.
- Discovery Protocol: It unifies all services into a common registry, enabling network Web services to publish their location and description. Also, it becomes easier to find what services are available on the network.
6. List out the components of Web services.
The following are the four major components of Web Services:
- SOAP (Simple Object Access Protocol)
- UDDI (Universal Description, Discovery, and Integration)
- WSDL (Web Services Description Language)
- XML (Extensible Markup Language)
- RDF (Resource Description Framework)
7. State the differences between API and web services.
The following table highlights the differences between API and Web services:
Application Program Interface (API) | Web Services |
An application program interface enables one application to communicate with another in a standardized manner. | Web services are the form of APIs that are accessed through a network connection. |
All APIs are not Web services. | All Web services are APIs. |
An API uses any style for communication. | Web services only use three types of styles for communication, namely SOAP, REST, and XML-RPC. |
APIs do not need a network for their operations. | A Web service always needs a network for its operations. |
We can consider APIs as advanced interfaces. | Web services can be thought of as advanced URLs. |
APIs follow the HTTP and HTTPS protocols. | Web services only follow the HTTP protocol. |
8. Can you list out some tools used for testing web services?
The following is the list of some popular tools used for testing Web services:
- SoapUI
- Postman
- TestMaker
- HttpMaster
- Storm
- SOAtest
9. Tell something about SOAP.
SOAP stands for Simple Object Access Protocol. It is a messaging protocol layer of the web service protocol stack that enables the exchange of information among computers. Since it utilizes an XML instruction set for its message format, it is referred to as an XML-based messaging protocol. It primarily relies on the HyperText Transfer Protocol (HTTP), but some legacy systems use Simple Mail Transfer Protocol (SMTP) for message transmission.
This XML-based messaging protocol consists of three parts:
- An envelope that describes the message structure and the way to process it.
- A set of encoding rules.
- A convention for representing procedure calls and responses.
10. List out the advantages and disadvantages of the SOAP web service.
The following are the advantages of the SOAP web service:
- SOAP defines its security known as WS Security.
- SOAP web services are language and platform-independent. We can write SOAP web services in any language and execute them on any platform.
- This web service provides data transport for web services.
- SOAP can extend HTML for XML messaging.
The following are some disadvantages of the SOAP web service:
- SOAP only uses XML and does not consider any other formats, like JSON.
- These web services are hard to test in browsers.
- SOAP clients do not hold any stateful references to remote objects.
- The change in server contract reflects in the client stub classes, meaning that web services and clients are tightly coupled.
11. What do you understand about WSDL?
WSDL stands for Web Services Description Language. It is an XML-based standard format used for describing the functionality provided by web services. Also, it provides a machine-readable description of how a service can be called, what parameters it accepts, and what data structure it returns.
In other words, WSDL represents the way to access a web service and the operations it performs. It is an XML-based protocol for exchanging information in distributed and decentralized environments. WSDL is commonly used with XML Schema and SOAP to provide web services over the internet. Any client program associated with a web service can read WSDL to identify what functions are available on the server.
12. What is XML-RPC?
XML-RPC is a remote procedure call protocol that uses XML to encode its calls and HTTP as a transport mechanism. It is one of the simplest XML-based protocols for exchanging data among different devices on a network. Alternatively, XML-RPC is a protocol that uses HTTP to transfer data from a client computer to a server computer. An XML-RPC client defines a procedure name and parameters in an XML request, and an XML-RPC server returns either a fault or a response in the form of an XML response.
13. What do you know about UDDI?
UDDI stands for Universal Description, Discovery, and Integration. It is a web services registry that provides a standard way for web services providers to define and publish WSDL descriptions of their services in a service registry. Also, it offers a way for customers to search and discover services in a service registry based on their WSDL descriptions.
Universal Description, Discovery, and Integration is an XML-based registry that enables businesses across the globe to register themselves over the internet. Furthermore, the primary component of UDDI is a business registry. It is a service registry that consists of the following information about every published web service:
- White pages or contact information.
- Yellow pages include business categorization.
- Green pages consist of technical information of a web service with a link to its WSDL description.
14. State the features of UDDI.
The following are the significant features of UDDI:
- UDDI is platform-independent and is a distributed registry of web services.
- It uses WSDL to describe interfaces to web services.
- It communicates through Java RMI, COBRA, and SOAP protocols.
- UDDI is combined with SOAP and WSDL and is considered one of the three basic standards of web services.
15. Which language does UDDI use?
UDDI uses WSDL (Web Services Description Language) to describe web services.
16. Explain RESTful web services.
REST stands for REpresentational State Transfer. It is an architectural style that defines constraints, and if these constraints are applied to a web service, it results in properties, such as performance, scalability, and modifiability, that enable a web service to run effectively on the web.
RESTful web services are web services based on the REST architectural style. They are highly scalable, lightweight, and maintainable, and are used for creating APIs for web applications. These web services are developed to work more effectively on the web. Alternatively, we can define RESTful web services as web services that use HTTP methods to implement the REST architecture.
17. List out the benefits of RESTful web services.
The following are the advantages of RESTful web services:
- RESTful web services are faster since there is no strict specification like the SOAP protocol.
- They are independent of the platform and can be written in any programming language.
- They support various data formats, like JSON, XML, HTML, and plain text.
- RESTful web services consume less bandwidth and resources.
- They are manageable, lightweight, scalable, and reusable.
- There is no contract between a client and a server. Therefore, such web services ensure loosely coupled implementation.
18. What are the disadvantages of RESTful web services?
The following are some major disadvantages of RESTful web services:
- RESTful web services use the HTTP protocol. Therefore, there can’t be asynchronous calls.
- There is no contract between a client and a server in RESTful web services. Therefore, they need to communicate via other means, such as documentation or emails.
- Sessions can’t be maintained.
19. Differentiate between SOAP and REST web services.
The following table describes the differences between SOAP and REST web services:
SOAP | REST |
SOAP stands for Simple Object Access Protocol. | REST stands for REpresentational State Transfer. |
It is an XML-based protocol that enables the communication between different applications. | It is an architectural style, where a web service is treated as a RESTful web service if it follows the REST constraints. |
SOAP cannot use REST since it is a protocol, and REST is an architectural style. | REST can use SOAP as an underlying protocol for web services. |
It only works with the XML format to transfer data. | It uses various formats, such as JSON, HTML, XML, plain text, etc. But it mostly prefers JSON for transferring data. |
The Java API for SOAP web services is JAX-WS. | The Java API for REST web services if JAX-RS. |
It requires a lot more resources and bandwidth than REST. | It requires relatively fewer resources and lower bandwidth than SOAP. |
Intermediate-Level Web Services Interview Questions
20. What are different HTTP methods used with RESTful web services?
The following are the HTTP methods used with RESTful web services:
- GET: We can use this method to get and access a resource.
- POST: This method helps us to create a new resource.
- PUT: This method enables us to update an existing resource.
- DELETE: We can use this method to delete a resource.
- PATCH: This method lets us apply partial modifications to a resource.
21. What do you understand about a web service provider?
As its name suggests, a web service provider is the provider of web services. It creates web services and makes them available to client applications who need them. The primary goal of a web service provider is to implement a service and allow client applications to access it whenever required. In simple terms, a web service provider is a platform that creates and hosts web services.
22. Tell me about a web service requestor.
A web service requestor is a client application or any consumer that requests a web service provider for the service it needs. It uses existing web services by establishing a network connection and sending an XML request to a web service provider.
23. What is a web service registry?
We can refer to a web service registry as a phone book for web services. A web service registry is a centralized directory of services. It enables client applications to locate the existing services or create new ones. ebXML (Electronic Business using XML) and UDDI (Universal Description, Discovery, and Integration) are widely used registry standards supported by web applications.
24. Define the term Synchronicity.
Synchronicity in web services implies the binding of the client to the execution of the service and can be done in two ways, i.e., synchronous and asynchronous. In synchronous invocation, the client gets blocked and waits until the service finishes its execution before moving forward. On the other hand, in asynchronous invocation, the client invokes the service and executes different functions simultaneously.
25. What is statelessness in terms of RESTful web services?
According to the REST architecture, RESTful web services should not maintain the client’s state on the server. Such a restriction or constraint is referred to as statelessness. The client passes its context to the server, and the server stores this context to process the client’s further requests.
26. State advantages of statelessness.
The following are the advantages of statelessness:
- Web services can manage each method request separately.
- There is no need for web services to maintain a client’s previous interactions.
- It ensures a less complex and simple application design.
- RESTful web services use the HTTP protocol since this protocol itself is stateless.
- It becomes possible to deploy any number of services to the server since the server does not have to manage any session. Therefore, statelessness ensures scalability.
27. List out all standard HTTP status codes for REST API.
The following are the standard HTTP status codes that the REST API returns in the form of an HTTP response:
- 200 OK
- 201 Created
- 202 Accepted
- 302 Found
- 400 Bad Request
- 401 Unauthorized
- 404 Not Found
- 405 Method Not Allowed
- 409 Conflict
- 500 Internal Server Error
28. Explain different elements of the SOAP message.
A SOAP message is an ordinary XML document consisting of the following elements:
- Envelope: It identifies an XML document as a SOAP message and defines the start and end of the message.
- Header: It contains the header information and is an optional element.
- Body: It consists of the call and response information. It consists of XML data comprising the message being sent.
- Fault: It is an optional element and provides information regarding errors that may occur during the processing of the message.
29. What do you understand about SOA?
SOA stands for service-oriented architecture, and it is one of the stages in application development and integration. It is an architectural style that supports service orientation and defines a way to make software components reusable and interoperable with the help of interfaces.
In other terms, SOA is an architectural approach where applications use services available in the network. SOA is closely related to the idea of an application program interface (API), which is an interface or communication protocol between different parts of a software program that aims to make the implementation and maintenance of software simple.
Therefore, we can think of an API as a service and SOA as the architecture that enables the services to operate.
30. List out the advantages and disadvantages of SOA.
The following are the benefits of SOA:
- Services developed under the SOA architecture are easy to edit and update. Any change in any of the services of an application does not affect the entire system.
- All services have the same directory structure that enables consumers to access these service data from the same directory every time. Though a service changes its location, the directory remains the same.
- Services are generally smaller than a fully-functional application. Therefore, testing and debugging services are quite simple.
- Since services are independent of each other, multiple applications can use the same service at the same time.
The disadvantages of SOA are:
- SOA is expensive in terms of development, technology, and human resources.
- A high-speed server and a lot of bandwidth are essential to run a web service.
31. What are the primary security issues of web services?
Web services require a very high level of security to keep confidential information safe and ensure reliable transactions. Such a high level of security can be achieved through Entrust Secure Transaction Platform. The three primary security issues of web services are:
- Confidentiality: Whenever a client transmits a message or XML request along with its service path to a server, it is essential to encrypt that message or XML request. Therefore, it becomes necessary to maintain the confidentiality of communication.
- Network security : It requires tools to filter the web service traffic.
- Authentication: It ensures the identity of a user and verifies whether a particular user has a right to access or use the web service. In addition, it is also performed to keep track of the user’s activity.
32. What is interoperability in terms of web services?
The term ‘interoperability’ in terms of web services implies the communication between different applications, which includes data and services sharing. Any type of application can take part in the communication. For instance, a .NET or VB application can communicate with Java web services and vice versa.
33. What do you know about BEEP?
BEEP stands for Blocks Extensible Exchange Protocol. It is an Internet Engineering Task Force (IETF) framework for creating network application protocols. BEEP consists of multiple building blocks, such as multiplexing, pipelining, reporting, and authentication for message-oriented peer-to-peer (P2P) protocols with the support of asynchronous full-duplex communication.
We can create new protocols using BEEP for various types of applications, such as network management, file transfer, instant messaging, etc. Authentication, error handling, handshake protocol, and security are some built-in features of BEEP.
34. Tell something about foundation security services.
The foundation security services consist of the following aspects:
- Integration
- Authentication
- Authorization
- Digital signatures
- Encryption process
35. What are the components that you need to publish while deploying a web service?
The components we need to publish while deploying a web service are:
- Web Application Directory
- Webservice.asmx File
- Webservice.Disco File
- Web.Config File
- Bin Directory
Advanced-Level Web Services Interview Questions
36. Enlist and explain different elements of a WSDL document.
A WSDL document consists of the following elements:
- Data Types: These specify the data types of the message and are in the form of XML schema.
- Message: A message is an abstract definition of data, In other words, it defines data elements for each operation.
- Port Type: It is an abstract set of operations supported by one or more endpoints.
- Binding: It defines a concrete protocol and data format specifications for operations and messages defined for a specific port type.
- Operations: It specifies operations performed to process a message.
- Port: It is a single communication endpoint. It is a combination of a network address and binding that provides the target address of the service communication.
- Service: It is a collection of network endpoints or ports and specifies the port address of the binding.
37. Can you explain the message element of the WSDL document?
The message element in the WSDL document is protocol-independent and describes the data that gets exchanged between the consumers and the web service providers. Every web service has two messages, one is input, and the other is output.
Furthermore, the input message specifies the parameters for a specific web service, and the output message represents the data from the web service. Each message has a zero or more <part> parameter, which relates to the parameter or return value in RPC.
38. What are operation-type responses used in WSDL?
In WSDL, there are four operation-type responses, which are as follows:
- One-Way: It receives a message but does not return a response to that message.
- Request-Response: It receives a message and returns a response to that message.
- Solicit-Response: It sends a request and waits for a response.
- Notification: It sends a message but does not wait for a response.
39. Can you explain Entrust Identification Service?
We can categorize the Entrust Identification Service under the Entrust Secure Transaction platform, which offers crucial and necessary security capabilities to ensure secure transactions. It enables companies to have control over identities that are trusted to perform web service transactions.
40. Explain Entrust Entitlements Service.
The Entrust Entitlements Service is a service that verifies those entities attempting to access a web service. It ensures security in business operations.
41. Can you tell me about the Entrust Privacy Service?
The Entrust Privacy Service performs the encryption of data and ensures the security and confidentiality of data. Moreover, it ensures that only the concerned parties or authorized members have access to the data.
42. Enlist a few syntax rules applicable for a SOAP message.
A few syntax rules applicable for a SOAP message are: A SOAP message must:
- Be encoded using XML.
- Use the SOAP envelope namespace.
- Use the SOAP encoding namespace.
- Not contain the DTD reference.
- Not contain XML processing instructions.
43. Explain approaches available for developing SOAP-based web services.
We can develop SOAP-based web services using the following approaches:
- Contract-first approach: In this approach, XML and WSDL define a contract first, and then Java classes are derived from the contract.
- Contract-last approach: In this approach, the Java classes are defined first, and then the contract is generated. This contract is the WSDL file from the Java class.
44. What do you understand about JAX-WS?
JAX-WS stands for Java API for XML Web Services. It is an API for building Simple Object Access Protocol (SOAP) web services and is an essential part of the Java EE platform. Using JAX-WS, we can build RPC-oriented and message-oriented web services. The two implementations of JAX-WS are RPC-style and Document style.
45. What do you know about the JAX-RS API?
JAX-RS stands for Java API for RESTful web services. It is an API for building RESTful web services and is an essential part of the Java EE platform. The following are the two implementations of JAX-RS API:
- Jersey
- RESTEasy
46. Enlist annotations of JAX-WS.
The following are the annotations of JAX-WS:
- @WebService
- @WebMethod
- @SOAPBinding
- @WebResult
- @WebServiceClient
47. List out the annotations of JAX-RS API.
The following are the annotations of JAS-RS API:
- @Path: It specifies the relative path of resource class and methods. We can use this annotation on any class or method in code and bind the URI pattern to a Java method.
- @GET, @PUT, @POST, @DELETE, @HEAD: We can use these annotations to specify the HTTP request type for a JAX-RS method.
- @Produces: We can use this annotation to specify HTTP responses generated by web services.
- @Consumes: Using this annotation, we can specify HTTP requests.
- @PathParam: This annotation specifies a parameter to the path value by parsing.
48. What do you know about JAXP and JAXB?
JAXP stands for Java API for XML processing. It is an API that enables us to parse, transform, validate, and query XML files with Document Object Model (DOM), Simple API for XML (SAX), or Streaming API for XML (StAX) with Parsers/Parsing interfaces. JAXB stands for Java Architecture for XML Binding. It is a Java standard that describes how Java objects get converted into XML and vice versa. It includes three packages:
- xml.bind
- xml.bind.util
- xml.bind.helper
49. What is the use of URI in REST-based web services?
URI stands for Uniform Resource Locator. In REST-based web services, we use URI to locate the resources on the server hosting the web services. Every resource in service has at least one URI used to identify it uniquely. Also, the clients of web services use URI to access the resources. The format of URI is given below: <protocol>://<service-name>/<ResourceType>/<ResourceID>
50. List out the core components of HTTP Request and HTTP Response.
HTTP Request has the following five components:
- Verb: It indicates HTTP methods, such as GET, PUT, POST, DELETE, and HEAD.
- URI: It identifies or locates resources on a server.
- HTTP Version: It indicates the HTTP version. For example, HTTP v1.1.
- Request Header: It contains metadata, such as client type, message body format, cache setting, etc., for the HTTP request message in the form of key-value pairs.
- Request Body: It represents the content of the HTTP request message.
HTTP Response has the following four components:
- Status/Response Code: It represents the status of the server for the requested resource.
- HTTP version: It indicates the HTTP version.
- Response Header: It consists of metadata, such as content type, content length, server length, etc., for the HTTP response message.
- Response Body: It represents the content of the HTTP response message.
Conclusion
Web services play a vital role in enabling seamless communication between various web applications developed on various platforms and frameworks using different programming languages. Various standards, such as XML, SOAP, UDDI, WSDL, and HTTP, drive the interaction between web applications.
This article covered some commonly asked Web services interview questions along with their answers. After reading this article, you can sharpen your knowledge of Web services and prepare yourself before appearing for an interview.
Also, if you come across other Web services questions apart from those listed above, please share them in the comments section below.
People are also reading:
Leave a Comment on this Post