You can use ReadyAPI to create and manage virtual services. This topic provides an overview of the process.
ReadyAPI has the functionality to create, run, and manage virtual services. These virtual services work similarly to the real API you are creating. You may know virtual services as virtual APIs, virtualized environments, virts , or mock services.
Service virtualization helps you quickly create working mocks of a web service and streamline client code development and test creation:
You can start working on client code and tests before developers finish implementing the API operations and before they deploy the API to a server.
Developers and QA engineers can work in parallel.
You can create client code and tests even if some operation (resource) of your API is not available yet.
See Why Creating Virtual Services? to learn more about the advantages and disadvantages of service virtualization.
Virtual services imitate real APIs: they define operations that clients of a real API will call, receive client requests, and simulate responses.
With ReadyAPI, you can create virtual services emulating the behavior of REST, SOAP, JMS, TCP APIs, and JDBC databases. You can see virtual services existing in your project in the Navigator panel under the APIs (Virtual) node:
![]() |
In the editor on the right, you can see the properties of the virtual service:
![]() |
REST, SOAP, JMS, TCP, and JDBC services have different customization properties.
A virtual service emulates a real web service: it runs on some server, receives requests, and sends responses to clients. To implement this functionality, you add virtual operations (or actions) to your virtual service. They specify the requests this service will receive. For each request, you can define one or more possible responses. The virtual service will return this or that response depending on test conditions. To determine which response to return, it uses dispatch settings:
![]() |
![]() |
You can add operations manually. If your virtual service is based on an OpenAPI, Swagger, WADL, or WSDL specification, ReadyAPI can load the operation list from this specification. One more way to create operations is to record your interaction with some existing API and extract requests from the recorded traffic.
You can also configure your virtual service to route incoming requests: the service will forward them to some existing web service, receive responses from this API and transfer these responses to the client. This approach is helpful when you need to create a new API based on some existing real API when you need to create virtual operations from operations of a real web service and in some other cases. For complete information on routing, see Request Routing and Recording.
For complete information on configuring service properties and behavior, see Configuring Virtual Services.
You can run virtual services on the computer where you have ReadyAPI installed or on some remote machine.
To run the virtual service on a local computer, you can use either ReadyAPI or a command-line runner.
To run the virtual service on a remote machine, you need to install VirtServer there. This is an application for running ReadyAPI virtual services on computers where ReadyAPI is not installed. You can deploy a virtual service to the VirtServer and run it there from ReadyAPI (see Running Virtual Services on Remote Computers):
![]() |
See also Running Virtual Services.
Basic virtualization functionality is available for users with any ReadyAPI license (ReadyAPI Test or ReadyAPI Performance). You can create, edit, and run virtual services of various supported types.
ReadyAPI Virtualization licenses enable enhanced features that make your work easier and more effective, such as support for data sources, discovering APIs, routing requests, and others. For complete information on differences, see ReadyAPI Virtualization Licenses.
We recommend that you start with the Your First Virtual Service tutorial.
One more tutorial – Data-Driven Virtual Service – describes how to include Excel sheet data in responses.
For information on JDBC database virtual services, see the JDBC Virtual Services tutorial.
You can also check our sample projects.