In order to virtualize a service, Service Virtualization needs to know what the service does and what endpoints it uses.
You can provide a service description in several ways:
|Learning||When you place a virtual service in Learning mode, Service Virtualization learns about the real service structure, and automatically updates the virtual service. If there are additional changes that you want to make, you can then edit the service description manually. Service description learning is available for XML, REST, SOAP, SQL, and SAP services.|
|Import service description documents||Service Virtualization provides an import wizard that analyzes the content of the document, and enables you to associate it with a particular virtualized service.|
|Configure a service description||You can the add operations and URI spaces, import and edit XML schemas, and configure other components of your services. For example, after you create a REST service, you can record real service behavior to learn the structure of the service. You can then edit the service description in Service Virtualization.|
Importing Service Description Documents
You can import the following service description document types into Service Virtualization:
|Web-Service Definition Language documents are the most common way to describe SOAP services. They often contain references to other WSDLs and XSDs that must be available in the referenced locations in order to import them and correctly describe the services they define.|
|XSD||XML Schema documents may also describe XML services. They often contain references to additional XML Schema Definitions (XSDs) that must be available in the referenced locations in order to import them and correctly describe the services they define.|
|COBOL Copybook||COBOL copybook documents describe input and output message structure for legacy mainframe applications.|
OpenAPI (Swagger) files, the JSON-based format for describing REST APIs.
For task details, see Create a Virtual Service.
You can edit a service description within Service Virtualization. You can configure the following components:
Note: To update a SOAP service description, you can also load a new service description document. You can edit HTTP metadata, and set session identifiers within Service Virtualization, which are not part of the service's WSDL document.
|Operations and URI spaces||For an XML service, you can add new operations. For REST services, you can create more URI spaces in which to place the data. This enables you to split your data into smaller groups according to the URI path of the resources.|
Metadata are parameters that contain some protocol-specific information such as time stamps, correlation information, or status codes. They are part of the protocol message, but external to the message body, such as URL parameters, or HTTP headers. You can edit this metadata in Service Virtualization.
Some types of metadata, such as HTTP Headers, are not required for tested applications; they may be important for the protocol, but the application does not require them and they are not learned for purposes of virtualization. By default they are disabled in the request but it is possible to enable them and edit the data for use in a simulation. Metadata such as URI Parameters are generally used by tested applications and are enabled by default.
|XML schemas||For XML, REST, or SOAP services. You can add, edit, or remove XML schemas.|
|Session identifiers||To perform stateful simulation, you need to be able to identify requests that originate from the same source. For example, you may want to identify all requests coming from a single browser session. Service Virtualization uses this information to create different tracks based on learned data, and uses the tracks to create different sessions during simulation. Service Virtualization assigns default session identifiers based on the service's protocol, which you can then modify.|
|Data formats||You can add or remove request and response data formats. You add a new data format to your service description by copying from an existing URI space (in a REST service), or by creating a new format.|
|Data masking||To hide sensitive data, you can scramble specific data elements. For example, there may be sensitive data that you are not permitted to store to disk. You can configure the elements for data masking, so that data recorded during Learning is masked and cannot be viewed in the data model.|
For task details, see Edit a Service Description.