HP Service Virtualization Guide
HP Service Virtualization Guide
User Guide
User Guide
Legal Notices
Warranty
The only warranties for HP products and services are set forth in the express warranty statements accompanying such
products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable
for technical or editorial errors or omissions contained herein.
The information contained herein is subject to change without notice.
Copyright Notice
Copyright 2011-2015 Hewlett-Packard Development Company, L.P.
Trademark Notices
Adobe is a trademark of Adobe Systems Incorporated.
Internet Explorer, SQLServer, Microsoft, Windows, Windows Server, Windows XP, and Windows 7 are U.S.
registered trademarks of Microsoft Corporation.
Oracle, Java, and JDBC are registered trademarks of Oracle and/or its affiliates.
IBM, WebSphere, IMS, and CICS are trademarks or registered trademarks of International Business Machines
Corporation, IBM, in the United States and in other countries.
TIBCO is either the registered trademark or the trademark of TIBCO Software, Inc. and/or its subsidiaries in the United
States and /or other countries.
Intel, Core2, and Xeon are trademarks of Intel Corporation in the U.S. and/or other countries.
SAP and SAP NetWeaver are registered trademarks of SAP AG in Germany and in several other countries.
Documentation Updates
The title page of this document contains the following identifying information:
l
l
l
To check for recent updates or to verify that you are using the most recent edition of a document, go to:
https://softwaresupport.hp.com.
This site requires that you register for an HP Passport and sign in. To register for an HP Passport ID, go to
https://softwaresupport.hp.com and click Register.
Page 2
User Guide
Support
Visit the HP Software Support Online web site at: https://softwaresupport.hp.com
This web site provides contact information and details about the products, services, and support that HP Software
offers.
HP Software online support provides customer self-solve capabilities. It provides a fast and efficient way to access
interactive technical support tools needed to manage your business. As a valued support customer, you can benefit by
using the support web site to:
l
l
l
l
l
l
l
l
Most of the support areas require that you register as an HP Passport user and sign in. Many also require a support
contract. To register for an HP Passport ID, go to: https://softwaresupport.hp.com and click Register.
To find more information about access levels, go to: https://softwaresupport.hp.com/web/softwaresupport/accesslevels.
Page 3
User Guide
Contents
What's New in HP Service Virtualization 3.70
10
13
14
14
15
15
16
17
Password Encryption
18
19
20
22
22
23
24
25
Start Page
26
29
30
33
33
35
39
40
40
42
43
44
47
48
48
50
51
55
55
Page 4
User Guide
63
65
66
67
Agents Page
68
68
70
72
74
76
79
80
SAPAgent Settings
81
83
84
86
89
TIBCOEMSAgent Settings
93
95
97
98
Virtualization Projects
99
100
Service Descriptions
102
104
106
108
109
112
114
114
Message Logging
118
120
121
122
122
124
124
125
138
Page 5
User Guide
139
140
141
Virtualization Explorer
142
143
147
148
149
150
152
153
153
154
155
156
157
159
160
161
Chapter 4: Simulation
163
Simulation Overview
164
164
Service Locking
167
168
Runtime View
169
Problem List
170
Service Administration
171
174
175
175
178
179
180
192
Automation example
194
195
Page 6
User Guide
196
196
198
199
Data Rules
199
200
Rule Functions
201
Data Driving
204
Array Binding
204
205
Simulation Preview
205
206
208
210
212
212
217
220
224
225
226
227
229
230
232
233
234
238
241
241
242
244
245
247
248
249
250
252
253
254
Page 7
User Guide
256
257
258
259
260
261
264
StatefulSimulation Overview
265
266
267
270
271
Performance Metrics
271
272
272
274
275
279
Topology Overview
280
280
283
284
Topology Editor
284
288
290
291
292
293
300
303
304
305
307
308
308
Page 8
User Guide
308
Performance Counters
309
312
313
313
316
318
319
319
322
323
323
323
326
329
330
331
Scripted Rules
331
332
332
335
336
337
337
339
340
340
Page 9
User Guide
What's New in HP Service Virtualization 3.70
SOAP over WebSphere MQ. Added support for SOAP over WebSphere MQ. It includes both intrusive
and non-intrusive MQ virtualization.
WebSphere MQ scalability. Improved saturation of MQ virtualization for many logical processors
configured in the operating system.
Service call activity (SCA) improvements. SCA now includes the capability to add more protocols for
hybrid simulation and out of simulation communication.
l
XML over MQ
SCA service description editor added to enable editing of SCA headers. For example, allows XCustom-Header for HTTP.
REST virtual service modeling. REST modeling capabilities now allow flexible URI modeling and finer
definition of virtual services per endpoint.
l
New wildcards * (one URI segment) and ** (one or more URI segments) can be used
anywhere in the URI path (both in Endpoints and Operations).
To maintain compatibility, wildcard * functionality from Service Virtualization 3.62 and earlier
versions is migrated to the new wildcard functionality ** for versions 3.70 and later.
Page 10
User Guide
What's New in HP Service Virtualization 3.70
Input message is assigned to the operation with the highest priority. A specific definition has
highest priority.
Improved usability. The virtual service URL indicating a specific operation and data model row is
now available from the row context menu. For details, see "Data Model Editor Context Menus" on
page238.
Export row data. Learned messages can be exported in their original raw form and reused, for
example, by client applications or tests:
l
Export rows from the Data Model Editor into a text file in source/raw format.
C# scripted rule. Export/import structures to/from JSON format. This refers to Service
Virtualization's internal format, based on the common message structure as displayed in the Data
Model Editor.
Added virtual service LEARNING mode. It is now possible to learn virtual services on the Service
Virtualization Server without the Designer, using only the command line.
Added virtual service UPDATE command. Enables download of datasets from the Service
Virtualization server and merge them with original virtual service files on the file system.
Deployment of virtual service to multiple SV Servers. It is now possible to deploy one virtual
service on multiple Service Virtualization Servers with a single command.
Security improvements. It is no longer necessary to disclose a password as a CLI parameter.
New Service Virtualization integration dialog. Integration dialogs now allow easier
configuration of virtual services in automation scripts.
Virtual service setup improvements:
o
Page 11
User Guide
What's New in HP Service Virtualization 3.70
Infrastructure enhancements
l
FIPS support added. It is now possible to install Service Virtualization on machines with FIPS enabled.
The AutoPass client library was updated. AutoPass License Server 8.3 must be used when using
floating licenses.
Note: This does not apply to upgrade. If you are upgrading from a previous version, do not enable
FIPS until Service Virtualization Server 3.70 is successfully installed.
Page 12
14
15
16
17
Password Encryption
18
19
20
22
22
23
24
25
Page 13
User Guide
Chapter 1: Service Virtualization at a Glance
Design virtual services. Add data to your virtual service by importing messages, adding external
data sources, or by manually entering data.
Learn service behavior. Record real service behavior to assist you in creating a virtual service to
mimic the behavior of the real service.
Customize simulation models. You can create and manipulate data and performance models for
use in your virtual services.
Create visual models. Model composite applications by creating a visual map of the services and the
relationships between them.
Integrate. Integrate with HPtest automation tools.
Designer. A client application enabling you to create virtual services, and run simulations of real
service behavior. The Service Virtualization Designer is used for design and validation of virtual
services within the same desktop environment, and includes an embedded server for hosting virtual
services.
Server. (Optional) A standalone server application which hosts the running of virtual services. The
Service Virtualization Server is optimized for performance, can contain many more services than the
Designer, and can be accessed by multiple Designers.
For details on configuring the Service Virtualization Server, see the HP Service Virtualization
Installation Guide.
Page 14
User Guide
Chapter 1: Service Virtualization at a Glance
For details on working with the Service Virtualization Server, see "How to Manage Service
Virtualization Servers" on page22.
l
Management Interface. (Optional.) A web application enabling you to view and manage all services
from Service Virtualization configured servers, without opening the Designer or individual projects.
The Service Virtualization Management is installed by default when you install the Service
Virtualization Server.
For more details, see "Service Virtualization Management" on page174.
For details on starting the Service Virtualization components, see "How to Start Service Virtualization"
on page19.
Main Service
Virtualization
view
When you open a virtualization project, the main Service Virtualization window opens. For user interface
Main menus
For a description of the main menu options available in Service Virtualization, see "Service Virtualization
Seat license. For use for a single machine running the Service Virtualization Designer.
Concurrent license. Multiple users share a pool of licenses managed by HPAutopass License Server.
Commuter license. A temporary license you obtain from the license server that enables the Designer
to work offline. You can then continue to work in the Designer when you have limited or no access to
the license server.
Page 15
User Guide
Chapter 1: Service Virtualization at a Glance
Note:
l
Concurrent and commuter licenses require access to the HPAutopass License Server. For details
on installing the HPAutopass License Server, see the HP Service Virtualization Installation Guide.
For details on installing a license, see "How to Install a Service Virtualization Designer License" on
page22.
Designer - Express
Edition
Designer - Premium
Edition
10
10
ALM integration
Server - Express
Edition
Server - Premium
Edition
Page 16
User Guide
Chapter 1: Service Virtualization at a Glance
Server - Express
Edition
Server - Premium
Edition
100
Full functionality
10
Full functionality
Full functionality
Full functionality
10
Full functionality
In-memory simulation
ALM integration
Additional information:
l
The limits specified here are default settings for the editions. They may change according to your
license agreement.
Upgrading your edition: Upgrade your edition by adding the appropriate license. You can backup your
server on one edition and restore it on a different edition.
When you first install the Service Virtualization Designer or Server, a 30-day trial license is installed.
This license runs the Premium Edition.
Designer:
%APPDATA%\Hewlett-Packard\VirtualServiceDesigner\logs
Server:
%ALLUSERSPROFILE%\Hewlett-Packard\HP Service Virtualization Server\logs
Page 17
User Guide
Chapter 1: Service Virtualization at a Glance
Configure logging
Messages are written to the log files based on the log levels that are defined in the application
configuration files. Log levels include WARN, DEBUG, INFO, and ERROR.
You can change log levels using the Service Virtualization configuration files:
l
Changes made to the logging configuration are effective immediately, and do not require an application
restart. To disable the ability to make changes without restarting the application, locate the following
line in the configuration file and set the value to False:
<add key="log4net.Config.Watch" value="True"/>
Password Encryption
You can encrypt sensitive data stored in Service Virtualization, such as passwords stored in agent
configuration files or in the Service Virtualization Credential Store.
Service Virtualization encrypts data using a password that you provide. You can enable password
encryption by defining an encryption password for the following application components:
l
Service Virtualization Server encryption. During server installation, you can select the server
encryption option, and define a password to use for encryption. The password is stored for the
Windows system account user, and used for all server encryption.
Designer/Embedded Server encryption. During Designer installation, or if you are running the
Designer for the first time, you can define a password for encrypting sensitive information stored in
the server. Each Windows user running the Designer can define an encryption password, used to
encrypt their own data and configuration information.
Project encryption. You can define a password for encrypting virtualization projects. When you
export a virtualization project and a .vproja project archive file is created, the project is encrypted
using the encryption password. For other users to open the exported project, you must provide them
with the encryption password.
For details on enabling project encryption, see "Projects and Solutions Page" on page149.
Page 18
User Guide
Chapter 1: Service Virtualization at a Glance
For additional options for configuring password encryption in Service Virtualization, refer to the HP
Service Virtualization Installation Guide.
Start the Server as a standalone console application: From the Windows Start menu, select All Programs
> HP Software > HP Service Virtualization > Server 3.70 > Service Virtualization Server .
For details on working with the Service Virtualization Server, see "How to Manage Service Virtualization
Servers" on page22.
Note: The Service Virtualization Server can be configured as either secured or unsecured. To prevent
unauthorized access, it may be configured as secured. For additional details and configuration
information on the Service Virtualization Server, see the HPService Virtualization Server section of the
Page 19
User Guide
Chapter 1: Service Virtualization at a Glance
For more details on Service Virtualization network ports, see the HP Service Virtualization Installation
Guide .
For more details on Service Virtualization Management, see "Service Virtualization Management
Overview" on page175.
2.
3.
4.
5.
6.
Page 20
User Guide
Chapter 1: Service Virtualization at a Glance
Set up your virtual services to create a simulation for your testing purposes. Configure security,
logging, protocol, and server settings to meet your needs. For task details, see "How to Configure
Virtual Services" on page106.
7.
Configure clients
Reconfigure your client applications to use the virtual services instead of the real services. Service
Virtualization enables you to manipulate virtual services to get different results.
8.
9.
Run simulations
Use virtual services to simulate real services during your testing process. For task details, see "How
to Run Simulations" on page164.
10.
11.
12.
13.
Page 21
User Guide
Chapter 1: Service Virtualization at a Glance
Green - online.
Yellow - indicates some connection problem, such as invalid credentials or a missing trusted
certificate.
Page 22
User Guide
Chapter 1: Service Virtualization at a Glance
Change Servers
Move the virtual services in the open project to a different server.
From the main menu, select Project > Change Server.
Page 23
User Guide
Chapter 1: Service Virtualization at a Glance
Note:
l
When you are working with a secured Service Virtualization Server, the actions available to you
and the information displayed in the Service Virtualization Designer vary, based on your user
access permissions. For example, a user who is not assigned to any of the Service Virtualization
user groups cannot view any agent data or any services deployed on the server.
For details on the Service Virtualization user groups, see the HP Service Virtualization Installation
Guide.
You can reconnect to a server with a different user. From the main menu, select Tools >
Options, and click the Servers tab. Right-click a server and select Connect using different
credentials.
Page 24
User Guide
Chapter 1: Service Virtualization at a Glance
Start Page
26
29
30
33
Page 25
User Guide
Chapter 1: Service Virtualization at a Glance
Start Page
This page includes links to your most recently opened projects, links to common procedures, and a tab
for the installed sample projects.
To access
When you open Service Virtualization, the Start Page opens by default.
To open the page manually, from the View menu, select Start Page.
General
UI Element
Description
Recent Projects
Displays links to common procedures. For details, see Get Started Page below.
Displays links to the demo projects, installed with Service Virtualization. For details, see Sample
Displays the Start Page each time you start Service Virtualization.
Page 26
User Guide
Chapter 1: Service Virtualization at a Glance
Description
Discover Services
Enables you to discover services suitable for virtualization in your application under test.
Creates a new virtualization project, and opens the Service Discovery dialog box, enabling you to find
all services used by an application.
For user interface details, see "Service Discovery Dialog Box" on page288.
Enables you to virtualize a service and define its behavior using data from an external source.
Data Driven
Simulation
Creates a new virtualization project and a virtual service with an external data rule, and then opens
the Data Model Editor.
For user interface details, see "Data Model Editor" on page234.
Composite
Application Testing
Enables you to describe the topology of a composite application, and virtualize services with limited
access.
Creates a new virtualization project and a topology, and opens the Topology editor.
For user interface details, see "Topology Editor" on page284.
Service
Administration
Enables you to view all services from configured servers, without opening individual projects.
For user interface details, see "Service Administration" on page171.
Description
Claim
Processing
JDBCDemo
Page 27
User Guide
Chapter 1: Service Virtualization at a Glance
UI Element
Description
Claim
Processing
Demo
This demo shows the simulation of a backend SOAP service with limited accessibility in a simple composite
application. The service can optionally use HTTP authentication (see demo readme).
Claim
Processing
RESTDemo
This demo shows a composite application consisting of 2 REST services using JSON and XML data formats.
Claim
Processing
Faults Demo
The simulation of a backend SOAPservice with limited accessibility in a simple composite application. The
simulated service returns either regular response or one of 3 different SOAP faults.
Claim
Processing
Security
Demo
This demo shows a composite application consisting of 2 SOAP services. It allows demonstrating how to
record and simulate the behavior of one of the SOAP services. Both services authenticate each other using
X509 certificates.
Claim
Processing
Standalone
Server Demo
This demo shows a composite application consisting of 2 SOAP services. It allows demonstrating how to
record and simulate the behavior of one of the SOAP services on a standalone server.
Claim
Approval
JMS Demo
This demo shows a composite application consisting of 3 SOAP services. It allows demonstrating how to
record and simulate the behavior of two SOAP services. Demo is similar to the Claim processing service
simulation demo. One XML over JMS service (TIBCO EMS approval service) has been added to the topology here
and is being simulated, too.
Claim
Approval MS
MQ Demo
This demo shows a composite application consisting of 3 SOAP services. It allows demonstrating how to
record and simulate the behavior of two SOAP services. The demo is similar to the Claim Processing service
virtualization demo. One XML over MS MQ service (MSMQapproval service) has been added to the topology
here and is being simulated, too.
Claim
Approval
WebSphere
MQ Demo
This demo shows a composite application consisting of 3 SOAP services. It allows demonstrating how to
record and simulate the behavior of two SOAP services. The demo is similar to the Claim Processing service
virtualization demo. One XML over WebSphere MQ service (WebSphere MQ approval service) has been added to
the topology here, and is being simulated, too.
IBMIMS
Transaction
Manager
Phonebook
Demo
This demo shows virtualization of the Phonebook IMSTransaction Manager application. The client is using
IBM IMS Connect API to communicate with IMS TM over TCP/IP.
Request
Tracking
Service
Activity
Demo
This demo shows a composite application consisting of 4 SOAP services. It allows demonstrating how to
record and simulate the behavior of two SOAP services. In addition, activity can be demonstrated by calling
the third SOAP service from a simulated service.
SAPIDoc
Demo
This demo shows the virtualization of a service that uses the SAP IDoc protocol. It enables you to record and
simulate asynchronous IDoc message transfer.
Page 28
User Guide
Chapter 1: Service Virtualization at a Glance
UI Element
Description
SAP RFC
Demo
This demo shows the virtualization of a service that uses the SAP RFC protocol. It enables you to record and
simulate a remote-enabled RFC function module.
ShoppingCart This demo shows virtualization of stateful shopping cart service, where only one client is using the stateful
- No Sessions service.
Demo
ShoppingCart This demo shows virtualization of stateful shopping cart service, where multiple concurrent clients are using
- Sessions by the stateful service and private session is generated for each client.
Clients Demo
ShoppingCart This demo shows virtualization of stateful shopping cart service, where multiple concurrent clients are using
- Sessions by the stateful service and sessions are generated per each shopping order. The checkout operation finishing
Orders Demo shopping order destroys the client session (the next operation creates a new one).
Test Data
Management
- Import
Data Demo
This demo shows the virtualization of a backend SOAP service with simulation data imported from an external
data file.
Test Data
Management
- Export
Data Demo
This demo shows the virtualization of a backend SOAP service with the export of learned data to an external
data file.
To access
From the Start Page, under Recent Projects, select a project to open.
Important information To display panes that are not displayed by default, click the View menu and select a pane.
Page 29
User Guide
Chapter 1: Service Virtualization at a Glance
Relevant tasks
See also
The Service Virtualization Designer window contains the following key elements (unlabeled elements
are shown in angle brackets):
UI Element
Description
<main display
pane>
<lower pane>
Displays the Problem List or the Runtime View. For details, see "Problem List" on page170 and "Runtime
View" on page169.
<side bar>
Displays links to Virtualization Explorer, Project pane, and Tools pane, when they are pinned.
<main menus
and buttons>
For command and button descriptions, see "Service Virtualization Main Menus" below.
Virtualization
Explorer
Located in the left pane of the window, displays the virtualization entities in your open project in a
hierarchical tree structure. For details, see "Virtualization Explorer" on page142.
Project pane
Located in the left pane of the window, displays the list of files included in your open project.
To rename a project, right-click the project name and select Rename Project .
Tools pane
Located in the left pane of the window, displays items that you can add to your topology. For details, see
Runtime View
Located in the lower pane of the window, displays the virtual services included in your open project. For
details, see "Runtime View" on page169.
Problem List
Located in the lower pane of the window, displays problems that occur during the application or server run.
For details, see "Problem List" on page170.
Page 30
User Guide
Chapter 1: Service Virtualization at a Glance
UI Element
Description
File >Checkout
Enables you to check out a project or solution from SVN. For details, see "Version Control Support"
on page318.
File > Close File
Enables you to save your project as a file in the file system. The file is saved with the default file
extension .vproja.
Opens the Summary of New Topology dialog box, enabling you to create a new topology. For details,
see "Summary of New Topology Dialog Box" on page284.
Launches the new virtual service wizard. For details, see "Create New Virtual Service Wizard" on
page122.
Note: Available in an open project.
Opens the Choose Template for Virtual Service dialog box, enabling you to create a new virtual service
Enables you to create a new virtualization project. For details, see "Summary of Virtualization
Project Dialog Box" on page121.
Opens your file system browser, enabling you to select a virtualization project to open.
Displays list of recently opened projects, enabling you to select a project to open.
Not in use.
File >Save
Saves changes made in the editor window in which you are currently working.
based on an existing template. For details, see "How to Create a Virtual Service" on page104.
Page 31
User Guide
Chapter 1: Service Virtualization at a Glance
UI Element
Description
Makes a copy of the open project, and saves it with a new name.
View > Problem List Displays the Problem List in the bottom pane of the Service Virtualization window. For details, see
"Problem List" on page170.
View > Projects
Opens the Projects pane, displaying the files included in the open project.
Displays the Runtime View in the bottom pane of the Service Virtualization window. For details, see
"Runtime View" on page169.
Displays the Service Administration window. For details, see "Service Administration" on page171.
Opens the Service Virtualization Start Page. For details, see "Start Page" on page26.
Opens the Task List pane. For details, see "Topology Editor" on page284.
Opens the Tools pane, displaying a toolbox of items for the Topology editor, and also for the XML and
XML schema editor.
Opens the Files pane, displaying your local file system in a browser.
Not in use.
Not in use.
Project >Open
Folder in Explorer
Opens the open project's folder in your file system browser, displaying the files included in the project.
Opens the Change Server for <open project> Project dialog box, enabling you to redeploy virtual
services in the current project to another server.
Clears project cache and reloads the project. If an error occurs, for example, if you are unable to open
one of the Service Virtualization editors, it is recommended to try using this option.
Opens the Refresh Sample Project dialog box, enabling you to delete the current contents of the
sample project folder and reload new copies of the sample virtualization projects.
Note: When you refresh the sample project folder, all custom changes made in this folder are lost.
ALM > ALM
Connection
Enables you to define settings for connecting to HPApplication Lifecycle Management (ALM). For
details on integrating with HPALM, see "HPApplication Lifecycle Management (ALM)
Integration" on page312.
ALM >Check Out
Opens the Check Out dialog box, enabling you to check out a virtualization project that is stored in an
ALM version controlled project.
Page 32
User Guide
Chapter 1: Service Virtualization at a Glance
UI Element
Description
ALM>Undo Check
Out
Discards any changes you made in the checked out project, and opens the last checked in version in
read-only mode.
ALM >Check In
Opens the Check In dialog box, enabling you to check in your changes to ALM.
ALM>Version
History
33
35
To access
Page 33
User Guide
Chapter 1: Service Virtualization at a Glance
Wizard map
Select License Type Page > "License Installation Wizard - Installation Pages" on the next
page
Important
information
If you do not yet have a license, the wizard guides you how to obtain one.
Relevant tasks
See also
License Types
UIElement
Description
Evaluation
License
Use a 30-day trial license that may have been provided to you by HP.
Concurrent
License
Multiple users share a pool of licenses stored on a license server. The license is linked to the machine's
IPaddress.
Seat License Obtain and install a permanent license for your Designer machine.
For use for a single machine running the Service Virtualization Designer.
The license is linked to the machine's Host ID, a unique number generated by Service Virtualization, and bound
to the machine's hardware.
Commuter
License
A temporary license provided by the License Server that enables the Designer to work offline.
Request a commuter license when you will have limited or no access to the license server, and cannot check out
a license. A commuter license is valid for 14 days.
Description
Status
l
Invalid. The license has expired, or the license and host IDs do not match.
To be expired. The license will expire on the expiration date listed.
Valid. The license is active.
Locked
Type
Instant On. The temporary license that is installed when you install the Service Virtualization Designer.
Page 34
User Guide
Chapter 1: Service Virtualization at a Glance
UIElement
Description
Evaluation. A 30-day trial license is installed.
Floating. A concurrent license is installed.
Permanent. A seat license is installed.
Commuter. A commuter license is installed.
Displays the date on which the license will expire.
Expiration
Date
Note: When a floating license expires, it is automatically renewed if you are still working in the
Designer.
Quantity of available licenses.
Capacity
install a license
See the relevant section below for the type of license you want to install.
Concurrent and commuter licenses require access to the HPAutopass License Server. For details on
installing the HPAutopass License Server, see the HP Service Virtualization Installation Guide .
Wizard map
"Select License Type Page" on page33 > License Installation Wizard - Installation Page
Relevant
tasks
See also
Page 35
User Guide
Chapter 1: Service Virtualization at a Glance
Description
Host
Port
Change
Server
Enter the host and port details of a different server, and click Change Server to connect to the new server.
Get
Floating
License
Retrieves a license from the license server. Concurrent licenses are valid for a period of 15 minutes, after which
they are automatically renewed.
Return
Floating
License
If you no longer need the license, you can return it to the license server.
If you are using a concurrent license model and have access to a license server, a license is automatically checked
out each time you open the Designer. When you close the Designer, the concurrent license is returned to the
license server.
Page 36
User Guide
Chapter 1: Service Virtualization at a Glance
Description
Obtain a new Seat license Click the HPLicensing for Software link to connect to HP, and sign in to request a license.
Host ID
Record this detail. It is required when you submit a request for a new seat license.
Click Copy to Clipboard to copy the Host ID.
Select an installation option. Browse to select a license file, or enter a license key.
Next
Page 37
User Guide
Chapter 1: Service Virtualization at a Glance
Description
Host
Port
Change Server
Enter the host and port details of a different server, and click Change Server to connect to the new
server.
Online Operations: (For use when you have access to the license server)
Get Commuter
License
Request a license from the license server that you can use offline for a specific number of days.
Recover Commuter
License
Download a new copy of your commuter license if the license was lost.
Return Commuter
License
Returns the commuter license to the license server when you no longer need it.
Offline Operations: (For use when you cannot access the license server.)
Create a File to Get Generates a license input file used for requesting a new commuter license. You can send the file to a
Commuter License user with access to the license server. A license server user can then check out a license, and send it
back to you.
Install Commuter
License
Create a File to
Return Commuter
License
Generates a license file that contains the license information, in order to return a commuter license to
the license server. You can then send the file to a user with access to the license server.
Page 38
40
40
66
67
Page 39
User Guide
Chapter 2: Service Virtualization Agents
See also:
This task is part of a higher-level task. For details, see "How to Use
To configure an agent:
1. From the main menu, select Tools > Options and click the Agents page.
2. In the left pane, expand the server to display the available agents and configurations.
3. Select the agent you want to configure, and fill in the properties.
4. To add another configuration of an agent, choose one of the following:
l
Click Add. A new configuration is added and you can modify its settings.
Click Import. Select an agent configuration file that was exported from a Service Virtualization
Server (embedded or standalone) and saved on the file system.
If the configuration file you are importing contains multiple configurations, you can select which
configurations you want to import.
Page 40
User Guide
Chapter 2: Service Virtualization Agents
If you choose to import an agent configuration that is identical to a configuration that already
exists on your server, you can choose to overwrite your existing configuration, or create a new,
additional configuration.
You can also delete, duplicate, and export agent configurations. For user interface details, see "Agents
Page" on page68.
This section also includes:
42
43
44
47
48
48
50
51
55
55
63
65
Page 41
User Guide
Chapter 2: Service Virtualization Agents
1.
2.
Page 42
User Guide
Chapter 2: Service Virtualization Agents
http://svserver.hp.com:7200/BackendServices/MemberAccounts
http://svserver.hp.com:7200/BackendServices/ExchangeRate
http://svserver.hp.com:7200/BackendServices/Approval
You create the MemberAccounts service so this functions but the other services would be
inaccessible for the application until you virtualized all of them.
To avoid the virtualization of all backend services set the DEFAULT TARGET HOST to
http://esb.demo.hp.com:8080
Now all requests to non-virtualized services are forwarded to the
http://esb.demo.hp.com:8080 host and are reaching the real services you do not intend to
virtualize now.
Note: The Forwarded to Host field can contain a base URL in several formats: the host,
optional port, and optional base path, i.e.: http://esb.demo.hp.com,
http://esb.demo.hp.com:8080
3.
2.
Page 43
User Guide
Chapter 2: Service Virtualization Agents
JDBC agent. You configure the JDBCagent in Service Virtualization. The agent listens for requests
from the JDBC driver.
JDBC driver. You install the JDBC driver in your application under test. The driver communicates
remotely with the JDBCagent in Service Virtualization. It intercepts each JDBC API call and depending
on the current service mode, forwards the traffic accordingly. If the virtual service is in either
Standby or Learning mode, the driver forwards the traffic to the actual JDBC driver. If the virtual
service is in Simulating mode, the virtual service simulates the API response.
The JDBC driver is uniquely generated according to the configuration of the JDBC agent and agent
host that you define in Service Virtualization. The driver is invoked only if either a virtualization JDBC
connection string is used (J2SE), or if the virtual data source is explicitly created and used by the
application (J2EE). If a non-virtualization connection string or data source is used, the virtualization
JDBC driver is inactive and has no impact on the application under test.
1. Prerequisites:
The following types of integration scenarios are supported:
l
A Java based application deployed on a J2EE application server (J2EE version 1.4 or later).
J2SE
J2EE
Page 44
User Guide
Chapter 2: Service Virtualization Agents
e. Reconfigure the application under test to use virtual endpoint. If you are working with JDBC
version 3.0, you must also update the JDBC driver class name to the virtualization driver class
name. The virtual driver class name is com.hp.sv.jdbc.agent.jdbc3.VirtualDriver.
WebLogic 12c
WebSphere 8
WebSphere 6
WebMethods
Page 45
User Guide
Chapter 2: Service Virtualization Agents
Page 46
User Guide
Chapter 2: Service Virtualization Agents
1.
Prerequisites
The Generic JMS Agent uses a standard JMS API with JNDI lookups. You must first configure an
environment with JMS resources.
a. Configure JMS. Create virtual destination(s) in JMS server (Webpshere MQ, Weblogic, JBoss, )
i. Create a Virtual Request destination.
ii. If you want to use a permanent ReplyTo destination, create a Virtual Reply destination. If
not, a temporary ReplyTo destination is used.
b. Configure JNDI. Configure JNDI mapping for virtual destinations enable the agent to lookup
destinations in JNDI.
i. Configure mapping for the Virtual Request destination.
ii. If a permanent ReplyTo destination is used, configure mapping for the Virtual Reply
destination.
2.
Page 47
User Guide
Chapter 2: Service Virtualization Agents
From the main menu, select Tools > Options. On the Agents Page, select JMS. For user interface
details, see the "JMSGeneric Agent Settings" on page76.
Prerequisites
The following Windows feature must be installed on the Service Virtualization machine:
Microsoft Message Queue (MSMQ) Server > MSMQ Active Directory Domain Services Integration (for
computers joined to a Domain)
For details, refer to Microsoft documentation.
2.
MSMQAgent Limitations
Service Virtualization uses Direct Format Names. MSMQ queues and hosts defined in Service
Virtualization are converted, as in the following example:
Host: www.example.com
Queue: private$\request.virtual.queue
Result: DIRECT=OS:www.example.com\private$\request.virtual.queue
The following are not supported:
l
Different authentication for different MSMQ queues. The same user is used for running the Service
Virtualization Server (embedded or standalone) and for authentication of all MSMQ queues defined in
virtual MSMQservices on the Service Virtualization Server.
MSMQ transactions
MSMQ journaling
MSMQ extensions
MSMQ encryption
Page 48
User Guide
Chapter 2: Service Virtualization Agents
The Service Virtualization Oracle AQ Agent serves to virtualize communication between applications that
are using Oracle Advanced Queuing. It supports buffered and persistent multi-user queues with UDT and
XML payloads.
The Service Virtualization Oracle AQ Agent requires:
l
one AQ subscribing agent in the Oracle database assigned to virtualization for listening on the
request queue
optionally, a second AQ agent in the Oracle database for listening on the response queue when the
virtual service is in Learning and Standby mode, and for publishing responses when the virtual service
is in Simulation mode.
Requests and responses are correlated using a correlation identifier of the AQ message. You can
combine UDT requests with XML responses and vice-versa. For more information on Oracle Advanced
Queuing and correlation identifiers, see the Oracle documentation.
1. Prerequisites
a. To enable Service Virtualization to access the Oracle database, you must install Oracle Data
Provider for .NET 11g on the Service Virtualization machine running the Service Virtualization
Oracle AQ agent. The Oracle AQ agent requires Oracle Data Provider for .NET 11g to access the
Oracle database. Oracle Data Provider for .NET 11g is a part of ODAC 11.2, which can be
downloaded from the Oracle download site.
Note: The Oracle AQ agent was tested with ODAC 11.2 only and may not work with other
versions.
Page 49
User Guide
Chapter 2: Service Virtualization Agents
b. You must create a subscribing agent in the Oracle database dedicated to virtualizing
messages coming to the request queue (SV Subscriber in the image above) and optionally a
second one dedicated to virtualizing messages coming to the response queue (SV Publisher in
the image above).
2. Configure the agent settings
From the main menu, select Tools > Options. On the Agents Page, select OracleAQ. For user
interface details, see the "Oracle AQ Agent Settings" on page80.
Prerequisites
Make sure that the following are configured on each Service Virtualization Designer or Service
Virtualization standalone server machine on which you are using the SAPAgent:
a. SAP Java Connector version 3.0.11 or later.
i. Download the SAPJava Connector library from the SAPsupport site, as follows:
l
For Designer or 32-bit Service Virtualization Server: Download the 32-bit library. (It
may be listed as IA32.)
For 64-bit Service Virtualization Server: Download the 64-bit library. (It may be listed
as x64.)
ii. Extract and copy the following files from the Java libraries to the Service Virtualization
installation directory's \bin folder: sapjco3.jar, sapjco3.dll, and sapjco3.pdb.
iii. Restart the Service Virtualization Server.
b. SAP GUI.
Alternatively, if you do not have SAPGUI installed, you can update the Windows services file,
located in %WinDir%\System32\drivers\etc.
Add the following line, replacing xx with your SAP system number:
o
2.
sapgwxx 33xx/tcp
3.
Page 50
User Guide
Chapter 2: Service Virtualization Agents
For a SAP Server: If your source SAP system is a SAPServer, you must reconfigure the SAP RFC
destination to point to the virtual service.
a. On the SAP server, navigate to transaction sm59. Locate and delete the original destination.
b. Under TCP/IPConnections, create a new destination and configure the following:
o
Registered Server Program. Select this option, and enter the Program ID. The value you
assign to Program ID must be identical to the Program ID entered in the virtual service's
properties in Service Virtualization.
Gateway Options. Enter the SAP Gateway Host and Gateway Service Name These values
must be identical to the values entered in the Service Virtualization Agents page.
c. Click Connection Test to test your configuration. Your virtual service must be deployed to carry
out this test.
For SAP PI : If your source SAP system is SAPPI, you must reconfigure the communication channel.
In SAP PI Integration Builder, navigate to the appropriate RFCreceiver communication channel, and
configure the following:
l
Page 51
User Guide
Chapter 2: Service Virtualization Agents
The flow services use the WebMethods SAPAdapter to publish IDOCs to a remote SAP system.
The remote SAP system publishes IDOC responses through the WebMethods SAPAdapter back to the
flow services hosted by the WebMethods Integration Server.
When the virtual service is in Learning or Standby mode, the SVRemote Agent on the WebMethods
Integration Server communicates with Service Virtualization to record or transmit data.
Page 52
User Guide
Chapter 2: Service Virtualization Agents
During simulation, the Service Virtualization WebMethods SAP agent completely simulates the
communication between the WebMethods SAP Adapter and the remote SAPsystem.
Page 53
User Guide
Chapter 2: Service Virtualization Agents
Prerequisites
a. WebMethods Integration Server 8.2 with SAPAdapter 7.1.
b. In order for the virtual service to connect to the remote SAP server, the WebMethods
SAPAgent requires all prerequisites that are required for the SAP agent. For details, see "How
to Configure the SAP Agent" on page50.
2.
3.
Page 54
User Guide
Chapter 2: Service Virtualization Agents
b. Copy the following files into the WM_IS_HOME\lib\jars folder in the installation directory of
the WebMethods Integration Server, for example C:\SoftwareAG\IntegrationServer.
o
HP.SV.JavaBcAgent.jar
javassist.jar
HP.SV.WmSapRemote.jar
Prerequisites
The following types of integration scenarios are supported:
2.
Page 55
User Guide
Chapter 2: Service Virtualization Agents
"Overview" below
Overview
The Service Virtualization WebSphere MQ Non-Intrusive agent enables you to virtualize WebSphere MQ
communication without the need for any reconfiguration of your applications under test. You need only
to deploy several libraries to the MQ server and reconfigure a queue manager. No virtual queues are
required.
In Standby and Learning modes, messages come untouched through the MQ server, but Service
Virtualization is receiving message copies.
Page 56
User Guide
Chapter 2: Service Virtualization Agents
In Simulation mode, messages are processed by Service Virtualization while the real service is still
running, but the real service does not receive any communication.
Supported platforms
l
Note:
l
For the most up to date information on supported versions, refer to the support matrix on the
HP Software Support site at: http://h20230.www2.hp.com/sc/support_matrices.jsp.
HP SV MQ API Exits are compiled against specific versions of operating systems and MQ servers.
Testing was conducted on the same configurations as those on which they were compiled.
Newer versions of the supported operating systems and MQ servers may or may not function
properly.
Page 57
User Guide
Chapter 2: Service Virtualization Agents
The mq-version.txt file contains the version of MQ that was used for compilation of the
libraries. The file is located in the libraries folder within the Service Virtualization installation
folder. For additional details, see "Configure the WebSphere MQserver" on the next page.
Page 58
User Guide
Chapter 2: Service Virtualization Agents
b. You can define the following element in the appSettings section of the configuration files. This
configuration element sets up global behavior for processing WebSphere MQ messages.
o
Agent limitations
l
The WebSphere MQ Non-Intrusive Agent instance can only use queues from a single Queue manager.
The WebSphere MQ Non-Intrusive Agent instance can only use a single TCP channel to connect to the
Queue manager.
CCSID configuration in the WebSphere MQ Non-Intrusive Agent instance requires an application
restart.
CCSID configuration is global for whole the application. There cannot be two agents with different
CCSIDs.
2. Unzip the file and copy the appropriate HPSV MQ APIExit libraries to the following destination
folders on your MQserver.
Solaris:
l
Page 59
User Guide
Chapter 2: Service Virtualization Agents
Windows:
l
HP UX:
l
IBM AIX:
l
Page 60
User Guide
Chapter 2: Service Virtualization Agents
Where:
l
<TCP port> (mandatory) = The TCP port of the Service Virtualization agent, such as 5500 or
5000.
For additional configuration parameters, see "Additional queue manager configuration options"
below.
5. Stop and then restart your queue manager. On a Windows system, you may need to also stop and
restart the IBMMQ system service.
<timeout> (optional) = The TCP connection timeout value, according to the table below.
<loglevel> (optional) = The log level of the API exit, according to the table below.
l
The logs can consume large quantities of your disk space. This feature should be enabled for
debugging only, and should be turned off by default.
When logging is enabled, log files with the pattern sv_mqexit_*.log are created. Those files
are placed in the following folders on the MQserver machine:
o
You must assign write permissions for MUSR_ADMIN and other MQ-related user accounts in
order to successfully generate log files and prevent the exit from crashing.
Page 61
User Guide
Chapter 2: Service Virtualization Agents
10
25
50
100
150
200
250 (default)
300
400
500
600
700
800
900
1000
1250
1500
1750
2000
3000
4000
OFF
ERROR
WARNING
INFO
DEBUG
TRACE
Page 62
User Guide
Chapter 2: Service Virtualization Agents
Example
sv.domain.com:5501Ki
where:
l
hostname = sv.domain.com
1.
Prerequisites
The WebSphere MQ Agent is not installed by default. The agent is dependent on the IBM
WebSphere MQ Client 7.0.1.6 or later (amqmdnet.dll library with version 1.0.0.3 and its
dependencies). The IBM WebSphere MQ Client full installation places the required library in the
Page 63
User Guide
Chapter 2: Service Virtualization Agents
Global Assembly Cache (GAC), making the agent available. If you install the client while the Service
Virtualization Server or Designer is running, you must restart the application prior to enabling the
agent.
The WebSphere MQ Agent uses the IBM WebSphere MQ Client internally. This enables you to use all
diagnostic tools and logs provided by the client if you need to investigate any issues with
WebSphere MQ communication between HP Service Virtualization and the IBM WebSphere MQ
Server.
To download the WebSphere MQ version 7.0 Client, see http://www01.ibm.com/support/docview.wss?uid=swg24019253.
To download the WebSphere MQ version 7.5 Client, see .http://www01.ibm.com/support/docview.wss?uid=swg24032744.
Note:
2.
3.
b. You can define the following element in the appSettings section of the configuration files. This
configuration element sets up global behavior for processing WebSphere MQ messages.
o
Page 64
User Guide
Chapter 2: Service Virtualization Agents
Agent limitations
l
The WebSphere MQ Agent instance can only use queues from a single Queue manager.
The WebSphere MQ Agent instance can only use a single TCP channel to connect to the Queue
manager.
CCSID configuration in the WebSphere MQ Agent instance requires an application restart.
CCSID configuration is global for whole the application. There cannot be two agents with different
CCSIDs.
Page 65
User Guide
Chapter 2: Service Virtualization Agents
1.
Prerequisites
The TIBCO EMS Non Intrusive agent requires 2 DLL libraries that are not supplied with the product:
Tibco.EMS.dll and Tibco.EMS.Admin.dll. These libraries are supplied with the installation of
TIBCO Enterprise Message Service (EMS), located in the bin directory in the EMS installation
folder. The typical default location is c:\tibco\ems\6.0\bin\.
Note: The TIBCO dll libraries are available in both 32-bit and 64-bit versions. The dll version
must be the same version as the Service Virtualization Server.
Copy the 2 libraries to the bin folder of the Service Virtualization installation directory:
l
If you are working with the Service Virtualization Server: By default, the Server installation
folder is located in C:\Program Files\HP\HP Service Virtualization
Server\Server\bin.
If you are working with the Designer's embedded server: By default, the Designer installation
folder is located in C:\Program Files\HP (x86)\HP Service Virtualization
Designer\Designer\bin.
Note: After copying the libraries to the directory, you must restart Service Virtualization.
2.
HTTPGateway
HTTP(S) Proxy
HTTPS Gateway
Page 66
User Guide
Chapter 2: Service Virtualization Agents
Agents Page
68
95
Page 67
User Guide
Chapter 2: Service Virtualization Agents
Agents Page
This section includes:
68
70
72
74
76
79
80
SAPAgent Settings
81
83
84
86
89
TIBCOEMSAgent Settings
93
Important information You can define multiple configurations for each agent.
Relevant tasks
See also
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
<left pane>
Page 68
User Guide
Chapter 2: Service Virtualization Agents
UI Element
Description
Add
Delete
Duplicate
Creates an additional configuration of the agent by copying the selected configuration. You can then modify
the configuration settings.
Note: By default, the configuration is created with a sequential unoccupied port number.
Export
Saves the selected agent configuration as a file. The file is saved in the .agce file format, and can be imported
to any Service Virtualization Server.
Export All
Exports all agent configurations on the selected server. The file is saved in the .agce file format, and can be
imported to any Service Virtualization Server.
Import
Enables you to select an exported agent configuration file stored on the file system. The file is saved in the
.agce file format, and can be imported to any Service Virtualization Server.
If the configuration file you are importing contains multiple configurations, you can select which
configurations you want to import.
If you choose to import an agent configuration that is identical to a configuration that already exists on your
server, you can choose to overwrite your existing configuration, or create a new, additional configuration.
Agent State
The current status of the agent. Values include Running, Not Running.
Tests the configuration based on the settings you select. If Service Virtualization identifies any problems in
Test
Configuration your configuration, the details are displayed.
link
Is Enabled
Name
Host
The hostname or IP address of the Service Virtualization Server where the agent is deployed.
Port
The port of the Service Virtualization Server used by the agent to deploy virtual services.
Remote Host
Remote Port
Use SSL
Enables SSL over TCP/IP. If enabled, you must provide certificate file and password details.
Certificate
File
The path to the server side certificate file, in P12 format, that is to be used by the gateway agent during SSL
authentication.
The certificate is used as the server certificate on the listening port if the Use SSL option is enabled. It is
bound to the port during startup of the agent.
Note: When remotely configuring a Service Virtualization Server's agent from the Designer, make sure
that the path to the certificate is valid on the server machine on which the agent will run.
If the Certificate File field is left empty and the Use SSL option is selected, then the agent will use the
certificate bound to the specified port in Windows.
Certificate
The password used to access the certificate file specified in the Certificate File field.
Page 69
User Guide
Chapter 2: Service Virtualization Agents
UI Element
Description
Password
To access
Important
information
Relevant tasks
See also
For additional important configuration information, see the task "How to Configure the
You can define multiple configurations for each agent.
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
<left pane>
Add
Delete
Duplicate
Creates an additional configuration of the agent by copying the selected configuration. You can
then modify the configuration settings.
Page 70
User Guide
Chapter 2: Service Virtualization Agents
UI Element
Description
Note: By default, the configuration is created with a sequential unoccupied port number.
Export
Saves the selected agent configuration as a file. The file is saved in the .agce file format, and can
be imported to any Service Virtualization Server.
Export All
Exports all agent configurations on the selected server. The file is saved in the .agce file format,
and can be imported to any Service Virtualization Server.
Import
Enables you to select an exported agent configuration file stored on the file system. The file is
saved in the .agce file format, and can be imported to any Service Virtualization Server.
If the configuration file you are importing contains multiple configurations, you can select which
configurations you want to import.
If you choose to import an agent configuration that is identical to a configuration that already
exists on your server, you can choose to overwrite your existing configuration, or create a new,
additional configuration.
Agent State
The current status of the agent. Values include Running, Not Running.
Tests the configuration based on the settings you select. If Service Virtualization identifies any
problems in your configuration, the details are displayed.
Is Enabled
Name
Use SSL
Enables SSL over TCP/IP. If enabled, you must provide certificate file and password details.
Certificate File
The path to the server side certificate file, in P12 format, that is to be used by the gateway agent
during SSL authentication.
The certificate is used as the server certificate on the listening port if the Use SSL option is
enabled. It is bound to the port during startup of the agent.
Note: When remotely configuring a Service Virtualization Server's agent from the
Designer, make sure that the path to the certificate is valid on the server machine on which
the agent will run.
If the Certificate File field is left empty and the Use SSL option is selected, then the agent will
use the certificate bound to the specified port in Windows.
Certificate Password
The password used to access the certificate file specified in the Certificate File field.
Port
The port of the Service Virtualization Server used by the agent to deploy virtual services.
Timeout
The period of time the agent waits before stopping attempts to communicate with the real
service.
External URI
The URI under which the agent is visible to client applications. This is used, for example when the
machine is behind a firewall and the client can see only the firewall which forwards all requests
to the agent. It may be left empty.
Unknown Endpoint
Requests
Determines how to respond to requests when there is no service deployed that matches the URL
path provided.
Includes the following options:
Page 71
User Guide
Chapter 2: Service Virtualization Agents
UI Element
Description
l
Enables you to configure proxy chaining. You can forward the HTTP(S) communication between
the HTTP(S) Gateway agent and the real service through an additional proxy. If it is not set, the
system default proxy server is used.
Click Settings to open the Proxy Settings dialog box. For details, see "Proxy Settings Dialog
Box" on page95.
To access
Important
information
For additional important configuration information, see the task "How to Configure the HTTP(S) Proxy
Agent" on page43.
l
In case of Java based clients running on JDK 6 or later, and in the case of self-signed certificates, it may be
necessary to add the -Dsun.security.ssl.allowUnsafeRenegotiation=true startup parameter or the client
may reject communication with the HTTPS Agent. For more details, see
http://java.sun.com/javase/javaseforbusiness/docs/TLSReadme.html.
l
Relevant
tasks
Page 72
User Guide
Chapter 2: Service Virtualization Agents
See also
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
<left pane>
Add
Delete
Duplicate
Creates an additional configuration of the agent by copying the selected configuration. You can
then modify the configuration settings.
Note: By default, the configuration is created with a sequential unoccupied port number.
Export
Saves the selected agent configuration as a file. The file is saved in the .agce file format, and can
be imported to any Service Virtualization Server.
Export All
Exports all agent configurations on the selected server. The file is saved in the .agce file format,
and can be imported to any Service Virtualization Server.
Import
Enables you to select an exported agent configuration file stored on the file system. The file is
saved in the .agce file format, and can be imported to any Service Virtualization Server.
If the configuration file you are importing contains multiple configurations, you can select
which configurations you want to import.
If you choose to import an agent configuration that is identical to a configuration that already
exists on your server, you can choose to overwrite your existing configuration, or create a new,
additional configuration.
Agent State
The current status of the agent. Values include Running, Not Running.
Tests the configuration based on the settings you select. If Service Virtualization identifies any
problems in your configuration, the details are displayed.
Is Enabled
Name
Host
The name by which the agent is visible to client applications. It may be left empty.
Timeout
The period of time the agent waits before stopping attempts to communicate with the real
service.
HTTPSProxy Settings
CACertificate File
Private Key
Password
Page 73
User Guide
Chapter 2: Service Virtualization Agents
UI Element
Description
Enables you to configure proxy chaining. You can forward the HTTP(S) communication
between the HTTP(S) Proxy agent and the real service through an additional proxy.
Click Settings to open the Proxy Settings dialog box. For details, see "Proxy Settings Dialog
Box" on page95.
To access
Important
information
Agent" on page44.
l
Relevant tasks
See also
For additional important configuration information, see the task "How to Configure the JDBC
You can define multiple configurations for each agent.
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
<left pane>
Add
Page 74
User Guide
Chapter 2: Service Virtualization Agents
UI Element
Description
Delete
Duplicate
Creates an additional configuration of the agent by copying the selected configuration. You can then
modify the configuration settings.
Note: By default, the configuration is created with a sequential unoccupied port number.
Export
Saves the selected agent configuration as a file. The file is saved in the .agce file format, and can be
imported to any Service Virtualization Server.
Export All
Exports all agent configurations on the selected server. The file is saved in the .agce file format, and can
be imported to any Service Virtualization Server.
Import
Enables you to select an exported agent configuration file stored on the file system. The file is saved in
the .agce file format, and can be imported to any Service Virtualization Server.
If the configuration file you are importing contains multiple configurations, you can select which
configurations you want to import.
If you choose to import an agent configuration that is identical to a configuration that already exists on
your server, you can choose to overwrite your existing configuration, or create a new, additional
configuration.
Agent State
The current status of the agent. Values include Running, Not Running.
Test Configuration Tests the configuration based on the settings you select. If Service Virtualization identifies any
problems in your configuration, the details are displayed.
link
Is Enabled
Name
Host/Port
The machine and port on which the JDBCagent is listening. Required for communication with the JDBC
driver installed on the application under test.
Actual JDBCDriver The fully qualified class name of the actual driver used in the application under test. Enter the name or
select one from the list.
Class Name
Available only when you select JDBCVersion 3.0.
Deployment Type
JDBCVersion
If your application under test is deployed on a J2EE application server, select the appropriate version
from the drop-down list.
For a Java standard edition application, select J2SE.
Create JDBCdriver Creates the JDBC driver specific to your configuration. Specify a location for saving the files.
for this
If you change configuration settings, you must create a new driver.
configuration
Page 75
User Guide
Chapter 2: Service Virtualization Agents
Important
information
Relevant tasks
See also
For additional important configuration information, see the task "How to Configure the JMS
There are several instances of the JMS Generic agent pre-configured for connecting to the JMS of
common Java application servers.
You can define multiple configurations for each agent.
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
<left pane>
Add
Delete
Duplicate
Creates an additional configuration of the agent by copying the selected configuration. You can then
modify the configuration settings.
Note: By default, the configuration is created with a sequential unoccupied port number.
Export
Saves the selected agent configuration as a file. The file is saved in the .agce file format, and can be
imported to any Service Virtualization Server.
Export All
Exports all agent configurations on the selected server. The file is saved in the .agce file format, and
can be imported to any Service Virtualization Server.
Import
Enables you to select an exported agent configuration file stored on the file system. The file is saved
in the .agce file format, and can be imported to any Service Virtualization Server.
If the configuration file you are importing contains multiple configurations, you can select which
configurations you want to import.
If you choose to import an agent configuration that is identical to a configuration that already exists
on your server, you can choose to overwrite your existing configuration, or create a new, additional
configuration.
Page 76
User Guide
Chapter 2: Service Virtualization Agents
UI Element
Description
Agent State
The current status of the agent. Values include Running, Not Running.
Test Configuration
link
Tests the configuration based on the settings you select. If Service Virtualization identifies any
problems in your configuration, the details are displayed.
Is Enabled
Name
JNDIURL
The URL where the JNDI provider and the JNDI context with JMS resources is located.
Context Factory
Class Path
The class path with all necessary JMS provider specific libraries for JMS implementation.
Note: To ensure maximum compatibility, use the same JMS/J2EE jar libraries for the agent class path
that are in use by the client application. If not possible, follow your application server documentation
for selection of the correct J2EE/JMS libraries.
Examples:
Class Path:
C:\Temp\WL103\wlthint3client.jar
Note: The above sample used WebLogic Thin T3 Client. In case of issues, please use other
Weblogic Client libraries (e.g. WebLogic Full Client using wlfullclient.jar). See chapter 2 of
Overview of Stand-alone Clients in your Oracle Fusion Middleware Programming Stand-alone
Clients for Oracle WebLogic Server 11g Release 1 documentation for more details.
Page 77
User Guide
Chapter 2: Service Virtualization Agents
Class Path:
C:\Temp\WAS6\com.ibm.mq.jar;
C:\Temp\WAS6\com.ibm.mq.jmqi.jar;
C:\Temp\WAS6\com.ibm.mqjms.jar;
C:\Temp\WAS6\com.ibm.ws.admin.client_6.1.0.jar;
C:\Temp\WAS6\com.ibm.ws.runtime_6.1.0.jar;
C:\Temp\WAS6\connector.jar;
C:\Temp\WAS6\dhbcore.jar;
C:\Temp\WAS6\fscontext.jar;
C:\Temp\WAS6\ibmorb.jar;
C:\Temp\WAS6\jms.jar;
C:\Temp\WAS6\jndi.jar;
C:\Temp\WAS6\ldap.jar;
C:\Temp\WAS6\providerutil.jar
Class Path:
C:\Temp\JBAS6\concurrent.jar;
C:\Temp\JBAS6\hornetq-core-client.jar;
C:\Temp\JBAS6\hornetq-jms-client.jar;
C:\Temp\JBAS6\jboss-client.jar;
C:\Temp\JBAS6\jboss-ejb3-core-client.jar;
C:\Temp\JBAS6\jboss-ejb3-ext-api.jar;
C:\Temp\JBAS6\jboss-jms-api_1.1_spec.jar;
C:\Temp\JBAS6\jboss-logging.jar;
C:\Temp\JBAS6\jnp-client.jar;
C:\Temp\JBAS6\netty.jar
Page 78
User Guide
Chapter 2: Service Virtualization Agents
Important
information
For additional important configuration information, see the task "How to Configure the MSMQ
Agent" on page48.
l
Relevant tasks
See also
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
<left pane>
Add
Delete
Duplicate
Creates an additional configuration of the agent by copying the selected configuration. You can then modify
the configuration settings.
Note: By default, the configuration is created with a sequential unoccupied port number.
Export
Saves the selected agent configuration as a file. The file is saved in the .agce file format, and can be imported
to any Service Virtualization Server.
Export All
Exports all agent configurations on the selected server. The file is saved in the .agce file format, and can be
imported to any Service Virtualization Server.
Import
Enables you to select an exported agent configuration file stored on the file system. The file is saved in the
.agce file format, and can be imported to any Service Virtualization Server.
If the configuration file you are importing contains multiple configurations, you can select which
configurations you want to import.
If you choose to import an agent configuration that is identical to a configuration that already exists on your
server, you can choose to overwrite your existing configuration, or create a new, additional configuration.
Agent State
The current status of the agent. Values include Running, Not Running.
Tests the configuration based on the settings you select. If Service Virtualization identifies any problems in
Test
Configuration your configuration, the details are displayed.
Page 79
User Guide
Chapter 2: Service Virtualization Agents
UI Element
Description
link
Is Enabled
Name
Host
The MSMQ server machine. Use a period '.' to indicate the local machine.
To access
Important
information
For additional important configuration information, see the task "How to Configure the Oracle AQ
Agent" on page48.
l
To connect to the Oracle database, you can specify either a connection string or specific database
connection properties.
When specifying database connection properties, you can enter either the database name or SID.
Relevant tasks
See also
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
<left pane>
Page 80
User Guide
Chapter 2: Service Virtualization Agents
UI Element
Description
Add
Delete
Duplicate
Creates an additional configuration of the agent by copying the selected configuration. You can then
modify the configuration settings.
Note: By default, the configuration is created with a sequential unoccupied port number.
Export
Saves the selected agent configuration as a file. The file is saved in the .agce file format, and can be
imported to any Service Virtualization Server.
Export All
Exports all agent configurations on the selected server. The file is saved in the .agce file format, and
can be imported to any Service Virtualization Server.
Import
Enables you to select an exported agent configuration file stored on the file system. The file is saved
in the .agce file format, and can be imported to any Service Virtualization Server.
If the configuration file you are importing contains multiple configurations, you can select which
configurations you want to import.
If you choose to import an agent configuration that is identical to a configuration that already exists
on your server, you can choose to overwrite your existing configuration, or create a new, additional
configuration.
Agent State
The current status of the agent. Values include Running, Not Running.
Test Configuration
link
Tests the configuration based on the settings you select. If Service Virtualization identifies any
problems in your configuration, the details are displayed.
Is Enabled
Name
Host/Port
Database Name
SID
Connection String
Username/Password Enter credentials for a user with permissions to access the Oracle database.
Although the connection string may contain a password, it is recommended to specify the password
in this password box.
SAPAgent Settings
This dialog box enables you to configure the Service Virtualization SAPAgent. The agent handles
SAPRFC or SAP IDOC communication between a SAP or SAPNetWeaverProcess Integration(PI)
system, and a real or virtual SAP service.
To access
Page 81
User Guide
Chapter 2: Service Virtualization Agents
2. Click Agents.
3. Under SAP, select a configuration.
Important
information
Agent" on page50.
l
Relevant tasks
See also
For additional important configuration information, see the task "How to Configure the SAP
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
<left pane>
Add
Delete
Duplicate
Creates an additional configuration of the agent by copying the selected configuration. You can then modify
the configuration settings.
Note: By default, the configuration is created with a sequential unoccupied port number.
Export
Saves the selected agent configuration as a file. The file is saved in the .agce file format, and can be imported
to any Service Virtualization Server.
Export All
Exports all agent configurations on the selected server. The file is saved in the .agce file format, and can be
imported to any Service Virtualization Server.
Import
Enables you to select an exported agent configuration file stored on the file system. The file is saved in the
.agce file format, and can be imported to any Service Virtualization Server.
If the configuration file you are importing contains multiple configurations, you can select which
configurations you want to import.
If you choose to import an agent configuration that is identical to a configuration that already exists on your
server, you can choose to overwrite your existing configuration, or create a new, additional configuration.
Agent State
The current status of the agent. Values include Running, Not Running.
Tests the configuration based on the settings you select. If Service Virtualization identifies any problems in
Test
Configuration your configuration, the details are displayed.
link
Is Enabled
Turns the agent on and off. To enable the agent, the prerequisites must first be met.
Name
Gateway
Host
Page 82
User Guide
Chapter 2: Service Virtualization Agents
UI Element
Description
Relevant
tasks
See also
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
<left pane>
Add
Delete
Duplicate
Creates an additional configuration of the agent by copying the selected configuration. You can then
modify the configuration settings.
Note: By default, the configuration is created with a sequential unoccupied port number.
Export
Saves the selected agent configuration as a file. The file is saved in the .agce file format, and can be
imported to any Service Virtualization Server.
Export All
Exports all agent configurations on the selected server. The file is saved in the .agce file format, and
can be imported to any Service Virtualization Server.
Import
Enables you to select an exported agent configuration file stored on the file system. The file is saved
in the .agce file format, and can be imported to any Service Virtualization Server.
If the configuration file you are importing contains multiple configurations, you can select which
configurations you want to import.
If you choose to import an agent configuration that is identical to a configuration that already exists
on your server, you can choose to overwrite your existing configuration, or create a new, additional
configuration.
Agent State
The current status of the agent. Values include Running, Not Running.
Page 83
User Guide
Chapter 2: Service Virtualization Agents
UI Element
Description
Test Configuration
link
Tests the configuration based on the settings you select. If Service Virtualization identifies any
problems in your configuration, the details are displayed.
Is Enabled
Name
Port
Host (optional)
The hostname of the Service Virtualization machine on which the agent is installed.
WebMethods IS URL
Gateway Host
The IP address or host name of the SAP gateway. Alternatively, you may enter the SAP Router String
for communication through the SAP firewall.
Gateway Service
Name
Client ID
Unicode
Indicates that the communication with the SAP system is encoded in Unicode.
To access
Page 84
User Guide
Chapter 2: Service Virtualization Agents
Important
information
Relevant tasks
See also
For additional important configuration information, see the task "How to Configure the IBM
You can define multiple configurations for each agent.
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
<left pane>
Add
Delete
Duplicate
Creates an additional configuration of the agent by copying the selected configuration. You can then modify
the configuration settings.
Note: By default, the configuration is created with a sequential unoccupied port number.
Export
Saves the selected agent configuration as a file. The file is saved in the .agce file format, and can be imported
to any Service Virtualization Server.
Export All
Exports all agent configurations on the selected server. The file is saved in the .agce file format, and can be
imported to any Service Virtualization Server.
Import
Enables you to select an exported agent configuration file stored on the file system. The file is saved in the
.agce file format, and can be imported to any Service Virtualization Server.
If the configuration file you are importing contains multiple configurations, you can select which
configurations you want to import.
If you choose to import an agent configuration that is identical to a configuration that already exists on your
server, you can choose to overwrite your existing configuration, or create a new, additional configuration.
Agent State
The current status of the agent. Values include Running, Not Running.
Tests the configuration based on the settings you select. If Service Virtualization identifies any problems in
Test
Configuration your configuration, the details are displayed.
link
Is Enabled
Name
Host
Port
Remote Host
Remote Port
Page 85
User Guide
Chapter 2: Service Virtualization Agents
UI Element
Description
Code Page
The character set as defined on the IMS TM server. Used to interpret both requests and responses.
Use SSL
Enables SSL over TCP/IP. If enabled, you must provide certificate file and password details.
Certificate
File
The server side P12/PFX certificate file used by the IBM IMS TM Agent during SSL authentication.
Certificate
Password
Important
information
Relevant
tasks
See also
For additional important configuration information, see the task "How to Configure the WebSphere MQ
The WebSphere MQ Non-Intrusive Agent is not able to automatically reconnect when a TCP connection to
the WebSphere MQ Server is lost. Each service using the agent must be restarted. Alternately, restart the
whole application.
You can define multiple configurations for each agent.
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
<left pane>
Add
Delete
Duplicate
Creates an additional configuration of the agent by copying the selected configuration. You can then
modify the configuration settings.
Note: By default, the configuration is created with a sequential unoccupied port number.
Export
Saves the selected agent configuration as a file. The file is saved in the .agce file format, and can be
imported to any Service Virtualization Server.
Page 86
User Guide
Chapter 2: Service Virtualization Agents
UI Element
Description
Export All
Exports all agent configurations on the selected server. The file is saved in the .agce file format, and
can be imported to any Service Virtualization Server.
Import
Enables you to select an exported agent configuration file stored on the file system. The file is saved
in the .agce file format, and can be imported to any Service Virtualization Server.
If the configuration file you are importing contains multiple configurations, you can select which
configurations you want to import.
If you choose to import an agent configuration that is identical to a configuration that already exists
on your server, you can choose to overwrite your existing configuration, or create a new, additional
configuration.
Agent State
The current status of the agent. Values include Running, Not Running.
Test Configuration
link
Tests the configuration based on the settings you select. If Service Virtualization identifies any
problems in your configuration, the details are displayed.
Is Enabled
Turns the agent on and off. To enable the agent, the prerequisites must first be met.
Name
Non-Intrusive
Server Port
The unique TCP/IP port on the Service Virtualization Server machine that will be used for accepting
incoming connections from the Service Virtualization MQ API Exit library.
Queue Manager
Name
The name of the queue manager for the agent to connect to.
Note: The WebSphere MQ Non-Intrusive Agent instance can only use queues from a single Queue
manager.
Channel Name
The name of the TCP channel for the agent to use to connect to the Queue Manager.
Note: The WebSphere MQ Non-Intrusive Agent instance can only use a single TCP channel to connect
to the Queue Manager.
Host
Port
The TCP port where the channel listens for client connections.
CCSID
Note:
l
CCSID configuration in the WebSphere MQ Non-Intrusive Agent instance requires that you restart
the application.
CCSID configuration is global for the whole application. There cannot be two agents with different
CCSIDs.
Username/Password The username and password for connecting to the queue manager.
Note: When you create a new virtual service, you can search WebSphere MQ queues and
select a destination, provided the virtual agent has sufficient permissions.
To browse MQ destinations, the specified user must be able to perform the following in
the WebSphere MQ client:
l
Page 87
User Guide
Chapter 2: Service Virtualization Agents
UI Element
Description
To create or delete a virtual destination, the specified user requires additional permissions,
such as administrator permissions.
For details, see "Browse Destinations Dialog Box" on page138.
SSL
CipherSpec
Key Repository
The path of the WebSphere MQ SSLkey repository, which contains the WebSphere MQ Queue Manager
certificate. If you are using mutual authentication, it also contains the certificate and private key of the
Service Virtualization MQ Non-Intrusive agent.
Enter the path to the WebSphere MQ key database file (.kdb), but without the file extension. This file is
similar to the file specified in the key repository parameter in WebSphere MQ Queue Manager
configuration.
Thresholds
Max. Threads
The maximum number of threads allowed for handling requests received by the agent. More threads
enable more requests to be processed concurrently, but may affect performance.
Max. Connections
The maximum number of cached connections to Queue Manager allowed for sending messages. More
connections enable more messages to be sent concurrently.
Message ID Age [ms] The length of time, in milliseconds, that cached sent message IDs may be stored in memory. It is
recommended to set this property to at least the length of time as the longest request/response pair
duration.
Message IDCount
The maximum number of cached sent message IDs that may be stored in memory.
Advanced Settings
Message Context
Mode
None.
Strip
XMLDeclarations
Removes XML declarations (<?xml ...>) from text messages before processing in Service Virtualization.
Text messages are in Unicode.
Use UTFMethods
Service Virtualization considers MQ text messages as created by the WriteUTF() method instead of the
WriteString() method.
When using an XML service, the message can be either transferred as a string (with a specified
character set) or as binary data (UTF). By default, the agent reads and writes messages as a string.
Select this option to use binary messages with UTF content instead.
Page 88
User Guide
Chapter 2: Service Virtualization Agents
UI Element
Description
Response Queue
Access Mode
Default. Legacy functionality according to Service Virtualization versions earlier than 3.61. The
Service Virtualization agent can access a shared queue, and selects messages in the queue
according to FIFO methodology.
Caution: The response queue consumes messages regardless of the correlation mechanism
(defined in the Request-Response Matching Mode field below). This can be problematic if
the queue is shared. In this case, it is recommended to use the Shared mode.
l
Exclusive. Opens the queue in the MQ Exclusive Queue Access mode. Access is limited to Service
Virtualization only, enabling the fastest sequential picking from the queue.
Shared. Opens the queue as an MQ shared queue and selects specific responses according to the
IDs used for request-response matching mode (request message ID, request correlation ID, or
both). Enables you to run several services with one response queue, or run a virtual service with
systems where the response queue is shared with other applications.
Note: This mode is slower than the other modes, as it is selecting specific responses from
the queue and not simply the first response.
Listening Timeout
(ms)
The length of time Service Virtualization listens for a specific request. When the agent is using Shared
Maximum
Responses per
Request
Defines the number of response messages that are expected for each request message. Relevant
when the Service Virtualization agent is configured to use Shared Response Queue Access Mode only.
Request-Response
Matching Mode
Response Queue Access Mode, the timeout is reset 3 times before stopping the listening process.
When a response is successfully retrieved, the failed attempts counter is reset to zero.
When the maximum responses per request are reached, Service Virtualization stops the listening
process.
Request Message ID -> Response Correlation ID. The Message ID of the request is copied to
the Correlation ID of the response. This is the default behavior of WebSphere MQ.
Request Correlation ID -> Response Correlation ID. The Correlation ID of the request is
copied to the Correlation ID of the response.
Page 89
User Guide
Chapter 2: Service Virtualization Agents
To access
Important
information
Agent" on page63.
l
Relevant
tasks
See also
For additional important configuration information, see the task "How to Configure the WebSphere MQ
The WebSphere MQ Agent is not able to automatically reconnect when a TCP connection to the WebSphere
MQ Server is lost. Each service using the agent must be restarted. Alternately, restart the whole application.
You can define multiple configurations for each agent.
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
<left pane>
Add
Delete
Duplicate
Creates an additional configuration of the agent by copying the selected configuration. You can then
modify the configuration settings.
Note: By default, the configuration is created with a sequential unoccupied port number.
Export
Saves the selected agent configuration as a file. The file is saved in the .agce file format, and can be
imported to any Service Virtualization Server.
Export All
Exports all agent configurations on the selected server. The file is saved in the .agce file format, and
can be imported to any Service Virtualization Server.
Import
Enables you to select an exported agent configuration file stored on the file system. The file is saved
Page 90
User Guide
Chapter 2: Service Virtualization Agents
UI Element
Description
in the .agce file format, and can be imported to any Service Virtualization Server.
If the configuration file you are importing contains multiple configurations, you can select which
configurations you want to import.
If you choose to import an agent configuration that is identical to a configuration that already exists
on your server, you can choose to overwrite your existing configuration, or create a new, additional
configuration.
Agent State
The current status of the agent. Values include Running, Not Running.
Test Configuration
link
Tests the configuration based on the settings you select. If Service Virtualization identifies any
problems in your configuration, the details are displayed.
Is Enabled
Turns the agent on and off. To enable the agent, the prerequisites must first be met.
Name
Queue Manager
Name
The name of the queue manager for the agent to connect to.
Channel Name
The name of the TCP channel for the agent to use to connect to the Queue Manager.
Note: The WebSphere MQ Agent instance can only use queues from a single Queue manager.
Note: The WebSphere MQ Agent instance can only use a single TCP channel to connect to the Queue
Manager.
Host
Port
The TCP port where the channel listens for client connections.
CCSID
Note:
l
CCSID configuration in the WebSphere MQ Agent instance requires that you restart the application.
CCSID configuration is global for the whole application. There cannot be two agents with different
CCSIDs.
Username/Password The username and password for connecting to the queue manager.
Note: When you create a new virtual service, you can search WebSphere MQ queues and
select a destination, provided the virtual agent has sufficient permissions.
To browse MQ destinations, the specified user must be able to perform the following in
the WebSphere MQ client:
l
To create or delete a virtual destination, the specified user requires additional permissions,
such as administrator permissions.
For details, see "Browse Destinations Dialog Box" on page138.
SSL
Page 91
User Guide
Chapter 2: Service Virtualization Agents
UI Element
Description
CipherSpec
Key Repository
The path of the WebSphere MQ SSLkey repository, which contains the WebSphere MQ Queue Manager
certificate. If you are using mutual authentication, it also contains the certificate and private key of the
Service Virtualization MQ agent.
Enter the path to the WebSphere MQ key database file (.kdb), but without the file extension. This file is
similar to the file specified in the key repository parameter in WebSphere MQ Queue Manager
configuration.
Thresholds
Max. Threads
The maximum number of threads allowed for handling requests received by the agent. More threads
enable more requests to be processed concurrently, but may affect performance.
Max. Connections
The maximum number of cached connections to Queue Manager allowed for sending messages. More
connections enable more messages to be sent concurrently.
Message ID Age [ms] The length of time, in milliseconds, that cached sent message IDs may be stored in memory. It is
recommended to set this property to at least the length of time as the longest request/response pair
duration.
Message IDCount
The maximum number of cached sent message IDs that may be stored in memory.
Advanced Settings
Message Context
Mode
None.
Strip
XMLDeclarations
Removes XML declarations (<?xml ...>) from text messages before processing in Service Virtualization.
Text messages are in Unicode.
Use UTFMethods
Service Virtualization considers MQ text messages as created by the WriteUTF() method instead of the
WriteString() method.
When using an XML service, the message can be either transferred as a string (with a specified
character set) or as binary data (UTF). By default, the agent reads and writes messages as a string.
Select this option to use binary messages with UTF content instead.
Response Queue
Access Mode
Default. Legacy functionality according to Service Virtualization versions earlier than 3.61. The
Service Virtualization agent can access a shared queue, and selects messages in the queue
according to FIFO methodology.
Caution: The response queue consumes messages regardless of the correlation mechanism
(defined in the Request-Response Matching Mode field below). This can be problematic if
the queue is shared. In this case, it is recommended to use the Shared mode.
l
Exclusive. Opens the queue in the MQ Exclusive Queue Access mode. Access is limited to Service
Page 92
User Guide
Chapter 2: Service Virtualization Agents
UI Element
Description
Virtualization only, enabling the fastest sequential picking from the queue.
l
Shared. Opens the queue as an MQ shared queue and selects specific responses according to the
IDs used for request-response matching mode (request message ID, request correlation ID, or
both). Enables you to run several services with one response queue, or run a virtual service with
systems where the response queue is shared with other applications.
Note: This mode is slower than the other modes, as it is selecting specific responses from
the queue and not simply the first response.
Listening Timeout
(ms)
The length of time Service Virtualization listens for a specific request. When the agent is using Shared
Maximum
Responses per
Request
Defines the number of response messages that are expected for each request message. Relevant
when the Service Virtualization agent is configured to use Shared Response Queue Access Mode only.
Request-Response
Matching Mode
Response Queue Access Mode, the timeout is reset 3 times before stopping the listening process.
When a response is successfully retrieved, the failed attempts counter is reset to zero.
When the maximum responses per request are reached, Service Virtualization stops the listening
process.
Request Message ID -> Response Correlation ID. The Message ID of the request is copied to
the Correlation ID of the response. This is the default behavior of WebSphere MQ.
Request Correlation ID -> Response Correlation ID. The Correlation ID of the request is
copied to the Correlation ID of the response.
TIBCOEMSAgent Settings
This dialog box enables you to configure the Service Virtualization TIBCOEMSAgent. The agent handles
communication between a client and a real or virtual service.
To access
Page 93
User Guide
Chapter 2: Service Virtualization Agents
Important
information
Relevant tasks
See also
For additional important configuration information, see the task "How to Configure the TIBCOEMS
You can define multiple configurations for each agent.
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
<left pane>
Add
Delete
Duplicate
Creates an additional configuration of the agent by copying the selected configuration. You can then
modify the configuration settings.
Note: By default, the configuration is created with a sequential unoccupied port number.
Export
Saves the selected agent configuration as a file. The file is saved in the .agce file format, and can be
imported to any Service Virtualization Server.
Export All
Exports all agent configurations on the selected server. The file is saved in the .agce file format, and
can be imported to any Service Virtualization Server.
Import
Enables you to select an exported agent configuration file stored on the file system. The file is saved
in the .agce file format, and can be imported to any Service Virtualization Server.
If the configuration file you are importing contains multiple configurations, you can select which
configurations you want to import.
If you choose to import an agent configuration that is identical to a configuration that already exists
on your server, you can choose to overwrite your existing configuration, or create a new, additional
configuration.
Agent State
The current status of the agent. Values include: Running, Not Running.
Test Configuration
link
Tests the configuration based on the settings you select. If Service Virtualization identifies any
problems in your configuration, the details are displayed.
Is Enabled
Turns the agent on and off. To enable the agent, the prerequisites must first be met.
Name
Host
Server Port
Username/Password The username and password for an EMS account with appropriate privileges to change permissions
on destinations and on the JMS server (admin account required).
Page 94
User Guide
Chapter 2: Service Virtualization Agents
To access
1. From the main menu, select Tools >Options. On the Agents Page, select one of the following:
l
HTTPGateway
HTTP(S) Proxy
HTTPS Gateway
2. Select the Use another proxy server to communicate with real services option, and click
Settings.
Relevant tasks "How to Forward HTTP Agent Communication Through an HTTP Proxy" on page66
Description
Proxy Host
Port
Credentials
Current User. The username and password of the current Windows user are
provided by Windows and integrated authentication is used.
Page 95
User Guide
Chapter 2: Service Virtualization Agents
UI Element
Description
Note: Only NTLM and Negotiate authentication are supported.
l
The list of addresses for which the proxy will not be used.
The proxy is not used when accessing local addresses (IPv4 and IPv6 loopback and
current machine hostname).
Page 96
98
104
106
108
109
112
114
114
Message Logging
118
120
Page 97
User Guide
Chapter 3: Virtual Services
Virtualization Projects
99
100
Service Descriptions
102
Page 98
User Guide
Chapter 3: Virtual Services
Virtualization Projects
The basis of organization within Service Virtualization is the virtualization project.
The virtualization project includes your virtual services, the simulation models you use to simulate real
service behavior, and other configuration entities you can customize to meet your needs.
You view your project structure in the Virtualization Explorer. For details, see "Virtualization Explorer" on
page142.
When you create a project, it is created within a solution. A solution is a container for one or more
projects that you want to maintain as a group. You can view your project and solution in the Projects
pane.
Export projects
You can save your project as an archive file in the file system.
Tip: For enhanced security, you can encrypt the project file. For more details on encryption, see
"Password Encryption" on page18.
For task details, see "How to Manage Virtualization Projects" on page108.
Page 99
User Guide
Chapter 3: Virtual Services
For the full list of supported protocols and versions, refer to the support matrix on the HPSoftware
Support site at: http://h20230.www2.hp.com/sc/support_matrices.jsp, or contact support.
For details on creating virtual services, see "How to Create a Virtual Service" on page104.
This section provides additional information required for the following service types:
l
XML Services
In addition to creating an XMl virtual service to simulate a real XMl service, you can also create an XMl
virtual service to simulate a SOAP service. You can import an .xsd file when creating the virtual service.
Binary Services
If the service is using an unknown transport protocol, creating a binary service is the best solution. If
Service Virtualization cannot understand the message format, it can record it in binary format, although
it is not able to fully recognize the structure.
SOAP Services
You can create SOAP services in the following ways:
l
Import WSDL documents directly into Service Virtualization to describe SOAPservices. To later
update a SOAPservice description, you can load a new service description document.
Import a schema from an .xsd file.
Create a new service without importing a service description. You can then place the virtual service in
Learning mode to record real service behavior.
Page 100
User Guide
Chapter 3: Virtual Services
RESTServices
REST services do not use imported service description documents in Service Virtualization. After you
create a REST service, you can record real service behavior to learn the structure of the service.
IBMIMSTMVirtual Services
Depending on the client transport and message level protocol, there are multiple options for virtualizing
IBM Information Management System Transaction Manager (IMS TM) services.
The following is an overview of protocols with full message structure parsing. Each requires a COBOL
copybook.
1. COBOL payload over IBM IMS TM Resource Adapter
a. The client is J2EE application using IBM IMS TM Resource Adapter to access IMS TM.
b. The payload are COBOL messages based on known COBOL copybooks.
c. The virtual service is created based on one or more of the following: TPipe name, Client ID,
Datastore Name, Transaction Code.
2. COBOL payload over IBM IMS Connect API protocol
a. The client is J2SE application using IBM IMS Connect Java API to access IMS TM.
b. The payload are COBOL messages based on known COBOL copybooks.
c. The virtual service is created based on one or more of the following: LTerm name, Client ID,
Datastore Name, Transaction Code.
If full message structure parsing is not required, or if the COBOL copybook is not available, the following
protocols provide the best alternatives. Note that the payload is a binary object and not structured.
1. Binary messages over IMS
a. Any client type using IMS TM over a TCP/IP network.
b. Any payload type.
c. The virtual service is created based on one or more of the following: TPipe name, Client ID,
Datastore Name, Transaction Code.
2. Binary messages over WebSphere MQ
a. The client is using IMS-MQ bridge to access IMS TM.
b. Any payload type.
Page 101
User Guide
Chapter 3: Virtual Services
SQL Services
You can create virtual SQL services for working with JDBC. A virtual SQL service can simulate both J2SE
and J2EE client applications.
When you configure the Service Virtualization JDBC agent to work with JDBC services, you enter
parameters for the specific target environment in which you are working. Service Virtualization then
configures a unique agent for your system.
SAP RFC or SAP IDOC communication between two SAP servers or between a SAPserver and a SAP
NetWeaver Process Integration (PI) system.
Supported RFC communication includes synchronous, or any of the three asynchronous types
(Asynchronous, Transactional, or Queued). In the case of asynchronous types, requests are collected
and then processed in a batch.
Service Descriptions
In order to virtualize a service, Service Virtualization needs to know what the service does and what
endpoints it uses.
Page 102
User Guide
Chapter 3: Virtual Services
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, REST services do not use
imported service description documents. 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.
WSDL
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 XMLservices. 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.
For task details, see "How to Create a Virtual Service" on the next page.
Operations and URI spaces. For an XML service, you can add new operations. For RESTservices, 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.
Page 103
User Guide
Chapter 3: Virtual Services
Metadata. 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 XMLschemas.
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 RESTservice), 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.
1.
This task is part of a higher-level task. For details, see "How to Use Service Virtualization" on
page20.
To learn more about virtual services, see "Virtual Service Overview" on page98.
Page 104
User Guide
Chapter 3: Virtual Services
2.
From the main menu, select File > New > Virtual Service.
In the Virtualization Explorer, right-click a virtualization entity and select Add > Virtual Service.
For user interface details, see "Create New Virtual Service Wizard" on page122.
From the main menu, select File > New > Multiple Virtual Services.
In the Virtualization Explorer, right-click a virtualization entity and select Add > Multiple
Virtual Services.
b. In the Import Real Service Description dialog box, enter a list of paths to your .wsdl files,
separated by semicolons.
For example,
C:\Services\ShoppingCart.wsdl;C:\Services\MemberAccounts.wsdl;C:\Services\Cl
aimProcessing.wsdl
Alternatively, enter the path to a CSV file containing the paths to the .wsdl files.
c. Follow the on-screen instructions.
For user interface details, see "Create Multiple Virtual Services Wizard" on page140.
Page 105
User Guide
Chapter 3: Virtual Services
4.
This task is part of a higher-level task. For details, see "How to Use Service Virtualization" on
page20.
To learn more about configuring virtual services, see "Virtual Service Overview" on page98.
Page 106
User Guide
Chapter 3: Virtual Services
Change servers
You can redeploy the virtual services in your project to a different server, if required.
Page 107
User Guide
Chapter 3: Virtual Services
From the main menu, select Project > Change Server to open the Change Server for <current project>
Project dialog box.
Alternatively, in the Virtualization Explorer, right-click the project tree and select Change Server.
Select a task from the Get Started page. These tasks first create a new virtualization project and
then a new virtual service. For user interface details, see "Start Page" on page26.
Create a new virtualization project. From the main menu, select File > New > Virtualization Project.
For user interface details, see "Summary of Virtualization Project Dialog Box" on page121.
Open a project
To open a project, select one of the following:
l
From the main menu, select File > Open Project/Solution. By default, projects are stored in the
following location in the file system: <Your Documents folder>\HPService Virtualization\Projects.
Close a project
From the main menu, select File > Close Project/Solution.
Page 108
User Guide
Chapter 3: Virtual Services
Export a project
Save your project as an archive file in the file system. From the main menu, select File > Export Project.
The file is saved with the default file extension .vproja.
Encrypt projects
You can encrypt your projects using a password you define.
1. From the main menu, select Tools > Options.
2. On the General page, click Projects and Solutions and enter a project encryption password.
For more details on encryption, see "Password Encryption" on page18.
Page 109
User Guide
Chapter 3: Virtual Services
Edit metadata
You can add, delete, enable, disable, and edit metadata.
In the Service Description Editor, under Request Metadata or Response Metadata, click Edit. For user
interface details, see "Edit Metadata Dialog Box" on page160.
Segments are separated with a '/' and the wildcard characters * and ** are used for several
characters or segments. For instructions on defining a URI path, see "How to Define the URI
Path" on page112.
Caution: If a URI Space is in conflict with an existing URI Space and the new URI Space is more
specific, the conflicting URI Space is split to several new URI Spaces and data from all associated
rules are moved to these new URI Spaces.
To delete a URIspace, in the left pane of the Service Description Editor, select the URI space and click
Delete URI Space.
Page 110
User Guide
Chapter 3: Virtual Services
Placing the virtual service in Learning mode to record real service behavior. For example, for a
RESTservice.
Importing a service description document, such as when creating a SOAP service using an
imported .wsdl service description document.
Importing messages into the virtual service's data model.
2. In the Service Description Editor, under Session IDs Definition, click Edit.
3. In the wizard pages that open, specify values for session identifiers, and click Finish. For user
interface details, see "SessionID Definition Wizard" on page152.
4. Learn data again. Service Virtualization uses the session IDs to create different tracks based on
the learned data, and uses the tracks to create different sessions during simulation.
Hide data
Configure data masking to protect sensitive data. Data recorded during Learning is masked and cannot
be viewed in the data model.
Do one of the following:
l
In the Service Description Editor, under Data Masking, view the data masking configuration for your
virtual service. To configure data masking, click Edit.
In the Data Model Editor, right-click a column header and select Mask.
For user interface details, see "Data Masking Dialog Box" on page157.
Page 111
User Guide
Chapter 3: Virtual Services
Description
Represented
by...
Static
Plain text
AnySegment
Examples
AnyTree
**
Priority
Each time an incoming messing from a client passes through Service Virtualization, the URI in the
request is evaluated as follows:
A Static segment is always evaluated first. If there is no match, AnySegment is then evaluated. Finally, if
there is no viable Static or AnySegment, the AnyTree segment is evaluated.
Page 112
User Guide
Chapter 3: Virtual Services
Examples - URIpaths
Incoming client request The matching URI in the virtual
service
/credit-cards/accounts/*/rewards/*/big
l
/credit-cards/accounts/*/rewards/*/small
Example 2:
/credit-cards/accounts/*/*/rewards
l
/credit-cards/accounts/*/**/rewards
/credit-cards/accounts/**/rewards
Example 3:
/credit-cards/accounts/*/rewards
l
/credit-cards/accounts/*/transactions
/creditcards/accounts/*/transactions/*/adjustmentdecisions
/credit-cards/accounts/**
/credit-cards/accounts/my/rewards/are/big /creditcards/accounts/*/rewards/*/big
/credit-cards/accounts/your/rewards/arent/small /creditcards/accounts/*/rewards/*/small
/credit-cards/accounts/1/rewards /creditcards/accounts/**/rewards
/credit-cards/accounts/1/2/rewards /creditcards/accounts/*/*/rewards
/credit-cards/accounts/1/2/3/rewards /creditcards/accounts/*/**/rewards
/credit-cards/accounts/your/rewards /creditcards/accounts/*/rewards
/credit-cards/accounts/12222/transactions /creditcards/accounts/*/transactions
/credit-cards/accounts/187/transactions/985/adjustmentdecisions /credit-cards/accounts/*/transactions/*/adjustmentdecisions
/credit-cards/accounts/**/transactions
l
/credit-cards/accounts/something/really/ugly /creditcards/accounts/**/
/credit-cards/accounts/something/really/ugly/with/transactions
/credit-cards/accounts/**/transactions
/credit-cards/accounts
l
/credit-cards/accounts /credit-cards/accounts
Note:
l
While the following two endpoints are equal in their meaning, the method that Service
Virtualization uses to evaluate priority means that */** has higher priority than **/*. Using the
first construction (**/*) would significantly affect performance, and is not recommended.
/credit-cards/accounts/**/*/rewards
/credit-cards/accounts/*/**/rewards
The expression **/** can be used in a URI path, but it widens the search scan and is not
recommended for performance reasons.
The same set of URI masks added to a path will always have identical results, regardless of the
order they are listed.
For details on adding or editing URI spaces to a service description, see "How to Edit a
ServiceDescription" on page109.
Page 113
User Guide
Chapter 3: Virtual Services
For an example of setting up the SAP systems, see the SAP IDoc Demo readme file, located in the
sample project folder.
3. Create a SAPIDoc virtual service. For details, see "How to Create a Virtual Service" on page104.
4. If you have different sets of credentials for logging on to your source and target SAP systems, you
must edit the Service Virtualization credential store. For user interface details, see "Edit Credential
Store Dialog Box" on page304.
5. Add a SAPIDoc operation, and select corresponding fields to use for request and (optionally)
response messages. In the Service Description Editor, in the bottom left of the Operations pane,
click Add Operation.
Note: The selected fields cannot be empty.
6. Optional: Import IDoc messages from SAP. In the data model, select an operation and expand a
rule. Right-click and select Import Message. Enter IDoc numbers to retrieve messages from the
SAP system.
7. Learn. If you have not imported IDoc messages, place the virtual service into Learning mode to
record the real service behavior - the destination SAP system responses.
a. On the SAP source system, create and send request messages.
b. On the SAP target system, create and send response messages.
8. Simulate. Place the virtual service into Simulating mode On the SAP source system, create and
send request messages. The virtual service responds.
Page 114
User Guide
Chapter 3: Virtual Services
Multiple responses.
Multiple service description files can be used to create the virtual service. For more details, see
"Creating the text file" on page117.
Variable-length records/occurring structures are not supported.
Learn more:
l
Name - custom, unique name of the field as it is displayed in the Data Model Editor.
Offset - binary offset, indicating the starting location of the field's data. For example, in a message
that is 100 bytes in length with an offset of 5, the field starts at the 6th byte.
Length - Binary length of the field data. The field is read as a sub-array from the offset position to
the offset + length position.
Type - Service Virtualization internal data type. See "Supported data types" on the next page for
details.
Description - custom text, used as a comment field. May not include a tab character.
Page 115
User Guide
Chapter 3: Virtual Services
Default value - default value for the field. Used as a value for enumeration fields, such as the Type
and HasError fields in the example below.
Data - used only for the Length field (the field marked as Attributes = '1'). The Data value adjusts the
read message length value if the total message length differs by a constant value (+/-).
For example, suppose the Message length field value is 36, and the actual incoming message length
is 40 bytes, but you have defined the Data value as +4. Service Virtualization will adjust the value to
40 (= 36 + 4), and will correctly parse the message.
Attributes - a 'flag' column, used by Service Virtualization to define special functionality for the field.
l
Attribute = 1: The Message length mandatory field must be defined with Attributes = '1'.
Attribute = 2: If using the Message type field, you must define Attributes = '2'.
Note: You must define a field called Length with the IntBE data type, and Attributes = '1'.
Sample data:
Name
Description
Length
IntBE
Message length
Type
String
Message type
Request type
REQ
Response type
RESP
MsgID
Numeric
Message ID
HasError
14
Numeric
No Error
Error
Data
15
30
String
Message payload
Service Virtualization evaluates the table from the top down. If the Name field is not defined, then the
value is treated as an enumeration value for the last evaluated field name. For example, Request type
and Response type are enumerations of Message type in the table above.
Messages can be shorter than defined by the Length column. Unpopulated fields are set to the Not
Present value in the Data Model.
Note
String
UTF-9, Unicode
BInary
Numeric
Numeric
Page 116
User Guide
Chapter 3: Virtual Services
Data format
Note
-000020.
Decimal
Decimal
Fixed decimal
String
IntBE
IntLE
Binary
http://en.wikipedia.org/wiki/Endianness
You can create separate files for requests and responses. See "Service description file naming" on
the next page for details.
The structure of the message definition file must be as follows:
The first line (header) is used to define columns for field definition. For example:
Name-->Offset-->Length-->Type-->Description-->Default Value-->Data->Attributes
Each additional line defines one field of the message. Define the field's column values using tabseparated columns. For example:
Message number-->12-->4-->Numeric-->Unique message identification number.-->->-->
where (-->) indicates a tab, and an extra tab marker (-->) indicates a column with no value.In this
example:
Name = Message number
Offset = 12
Length = 14
Type = Numeric
Description = Unique message identification number
Default Value, Data, and Attributes are not defined.
Page 117
User Guide
Chapter 3: Virtual Services
*_resp.txt
*_request.txt
*_response.txt
*_rq.txt
*_rs.txt
*-req.txt
*_resp.txt
*-request.txt
*-response.txt
*-rq.txt
*-rs.txt
*.req.txt
*.resp.txt
*.request.txt
*.response.txt
*.rq.txt
*.rs.txt
Message Logging
You can log request and response data generated during learning, simulation, and
standby modes.
Message logs enable you to:
l
Review the messages more closely to troubleshoot problems you may have.
"View log files in the Designer message viewer" on the next page
"Access log files stored on the file system" on the next page
Page 118
User Guide
Chapter 3: Virtual Services
For a service running on the embedded server: Messages are stored in the Designer log folder
%APPDATA%\Hewlett-Packard\VirtualServiceDesigner\logs in the subfolder messages\
[Virtual Service Name]-[Virtual Service ID], created when the first message is logged.
To open the Designer log folder, from the Windows Start menu, select Service Virtualization >
Designer > Designer Log Folder.
For a service running on a Service Virtualization Server: Messages are stored in the Server log
folder %ALLUSERSPROFILE%\Hewlett-Packard\HP Service Virtualization Server\logs, in
the subfolder messages\[Virtual Service Name]-[Virtual Service ID], created when the
first message is logged.
To open the Server log folder, from the Windows Start menu, select Service Virtualization > Server
> Server Log Folder.
Page 119
User Guide
Chapter 3: Virtual Services
Tip: If you do not have access to the Server machine directly, you can open the server logs in the
Designer message viewer, and save them to your local machine. For details, see "Message Logging"
on page118.
121
Page 120
User Guide
Chapter 3: Virtual Services
122
140
141
Virtualization Explorer
142
143
147
148
149
150
152
157
159
160
161
To access
From the main menu, select File >New > Virtualization Project .
Page 121
User Guide
Chapter 3: Virtual Services
UI
Description
Element
Project
Displays the default name for the project you are creating.
Path
Displays the default location in the file system where the project is created.
Server
Change
Opens the Change Project dialog box, enabling you to modify the following details:
l
Project. Enter a name for the project or accept the default name.
Path. Enter a path for the project or accept the default path.
Create
Wizard map
To launch the new virtual service wizard, in an existing project, select one of the following:
l
From the main menu, select File > New >Virtual Service.
In the Virtualization Explorer, right-click a virtualization entity and select Add > Virtual Service.
"Import Real Service Description Page" below > "Choose Service Protocol Page" on page124 > "Service
Properties Page" on page125 > "Summary of Virtualization Page" on page139
Important
information
Relevant
tasks
See also
If you are creating a new virtual service from the Get Started page, a new virtualization project is created for
the service.
For additional details on specific service types, see "Virtual Service Types" on page100.
Page 122
User Guide
Chapter 3: Virtual Services
Important
information
General information about this wizard is available here: "Create New Virtual Service Wizard" on the
previous page
l
For additional details on specific service types, see "Virtual Service Types" on page100.
This page also enables you to import a service description in order to add service call activity in the Data
Model.
Description
Service
description
Note: If the WSDL describes multiple services or a single service specifying multiple ports, select one
from the list of available ports in the dialog box that opens.
For connection to a secured web service, you are required to enter your access credentials.
I don't have a
service
description
Enables you to create a virtual service without using an existing service description.
RESTservices: Select this option when creating a RESTservice. REST services do not use
imported service description documents. After you create a REST service, you can record real
service behavior to learn the structure of the service.
Page 123
User Guide
Chapter 3: Virtual Services
Important
information
General information about this wizard is available here: "Create New Virtual Service Wizard" on page122
For additional details on specific service types, see "Virtual Service Types" on page100.
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
Filter by
To filter the protocol list, select protocols from the message and transport protocol drop-down lists.
<list of protocols> Select a protocol configuration for your new virtual service.
Page 124
User Guide
Chapter 3: Virtual Services
Important
information
General information about this wizard is available here: "Create New Virtual Service Wizard" on page122
This wizard page is available only if you chose to import a COBOL copybook for the service description.
For additional details on specific service types, see "Virtual Service Types" on page100.
Description
Displays the message types available for input and output, as defined in your
COBOLcopybook.
Only one COBOL structure may be assigned as the input message, and another as the
output message.
Create multisegmented
messages
Page 125
User Guide
Chapter 3: Virtual Services
Important
information
General information about this wizard is available here: "Create New Virtual Service Wizard" on page122
The properties available on the page depend on the protocols you select for the new service on the Choose
Service Protocol page.
After the virtual service is created, you can edit these properties. In the Virtual Service Editor, under Service
Configuration, click Edit to open the Edit Endpoints dialog box.
For additional details on specific service types, see "Virtual Service Types" on page100.
"JDBC" on page128
"JMS" on page128
"MSMQ" on page130
"ORACLEAQ" on page132
"REST" on page132
"SAPRFC" on page132
"SAPIDOC" on page133
"TIBCOEMS" on page134
Page 126
User Guide
Chapter 3: Virtual Services
General
Show Endpoint Topology Displays a diagram of your service endpoint configuration.
Test Endpoints
HTTP
Define the real service endpoints.
Property
Description
Note: When using the HTTP or HTTPS Gateway agent, the virtual service may have only one specified
endpoint.
IBM IMS TM
Define the real service properties. Values are case-sensitive and should be provided by your
IMSTMSystem Administrator or Operator.
Property
Description
Client ID
Identification of the client for services with dedicated persistent socket connections. For shareable persistent
socket connections, leave this value undefined.
Transaction The alphanumeric code used to invoke IMS message processing program.
Code
TPipe
Name
The transactional pipe (TPipe) value, used to maintain a logical association between client and service. The OTMA
TPipe name is similar to the IMS Connect logical terminal (LTerm) name.
LTerm
Name
Logical Terminal Name. The IMS logical association between client and service. Similar to OTMA TPipe name.
Datastore
ID
Any value
Clear this option to define a filter for the corresponding property. If you enter a specific value for a property,
only messages matching the specified value are processed during Learning and Simulation sessions.
IBMCICSTSHTTP
Define virtual and real service properties.
Page 127
User Guide
Chapter 3: Virtual Services
Property Description
The relative URI that defines on which URI path the virtual service is to be deployed.
The relative or absolute endpoint, depending on the agent type, that defines where the actual COBOL service is
listening. For details, see "Virtual Service Types" on page100.
Encoding
JDBC
Define the real service properties.
Property
Description
Connection
String
The JDBC Connection string used in the application under test. This is used primary when working with
J2SE applications.
The JNDI datasource name used by the application under test. This is used only if the application is
deployed on a J2EE application server.
JMS
Define virtual and real service properties.
Virtual Service Properties:
Multiple
Agents
Select Enable multiple JMSproviders to enable the use of different JNDI contexts for incoming/outgoing
messages or for request/response activities.
l
You can define an agent configuration for each JNDI context you require. For details, see "Agents Page" on
page68.
l
Select agent configurations for your virtual service using the Agent and Reply Agent fields in this dialog
box. A virtual service has virtual and real service endpoints, and each endpoint has an input and an output
agent, resulting in four possible agent assignments.
Examples: The following use cases are examples only. You can configure the agents in any combination to
meet your needs.
l
Use one agent configuration (agent 'A') for handling communication for request processing, and
another agent configuration (agent 'B') for handling communication for response processing.
Page 128
User Guide
Chapter 3: Virtual Services
Server
Use one agent configuration (agent 'A') for communication between your client (AUT) and Service
Virtualization, and another agent configuration (agent 'B') for communication between Service
Virtualization and the real service.
The Service Virtualization Server on which you want to deploy the virtual service.
Available when using multiple agents.
Agent
Destination The JNDI destination name where the virtual service expects to receive requests.
Name
Connection
Factory
The JNDI name of the connection factory used for communication from the client to Service Virtualization.
Reply
Agent
Used for processing responses sent from Service Virtualization to the client.
Reply To
The JNDI destination name where the virtual service will send responses.
Reply
Connection
Factory
If the client provides a ReplyTo JMSproperty, you can leave this field empty.
If you are using multiple agents, this field must not be left empty.
The JNDI name of the connection factory used for communication from Service Virtualization to the client.
Available when using multiple agents.
Page 129
User Guide
Chapter 3: Virtual Services
Used for processing requests from Service Virtualization to the real service.
Available when using multiple agents.
Destination The JNDI destination name where the real service expects to receive requests.
Name
Connection
Factory
The JNDI name of the connection factory used for communication from Service Virtualization to the real service.
Reply
Agent
Used for processing responses sent from the real service to Service Virtualization.
Reply To
The JNDI destination name where the real service sends responses.
Reply
Connection
Factory
If this field is left empty, Service Virtualization creates a temporary destination for receiving responses from
the real service, and sets the ReplyTo JMS property in the request to point to that temporary destination.
If you are using multiple agents, this field must not be left empty.
The JNDI name of the connection factory used for communication from the real service to Service Virtualization.
Available when using multiple agents.
MSMQ
Define virtual and real service properties.
Property
Description
Authentication Select Use Authentication for any element to enable domain authentication. You must use
authentication when working in a domain environment in which an MSMQ queue restricts
access to authenticated users only.
The user that is configured to run the Service Virtualization Server or Designer is used for all
authentication to MSMQservers and resources. Authorization is carried out by Windows
Active Directory.
Select Enable multiple queue managers to enable the use of different MQ queues for
incoming/outgoing messages or for request/response activities.
l
You must define an agent configuration for each queue you require. For details, see
Select agent configurations for your virtual service using the Agent and Reply Agent
fields in this dialog box. A virtual service has virtual and real service endpoints, and each
endpoint has an input and an output agent, resulting in four possible agent assignments.
Examples:
The following use cases are examples only. You can configure the agents in any
combination to meet your needs.
Page 130
User Guide
Chapter 3: Virtual Services
Property
Description
Server
Use one agent configuration (agent 'A') for handling communication for request
processing, and another agent configuration (agent 'B') for handling communication
for response processing.
Use one agent configuration (agent 'A') for communication between your client (AUT)
and Service Virtualization, and another agent configuration (agent 'B') for
communication between Service Virtualization and the real service.
The Service Virtualization Server on which you want to deploy the virtual service.
Available when using different request/response agents.
Destination
Name
Agent
Reply To
Name of queue where the virtual service will send responses. If the client provides a
ReplyToQueue message property, you can leave this field empty.
Click Browse to select a destination.
Reply Agent
Used for processing responses sent from Service Virtualization to the client.
Available when using different request/response agents.
Page 131
User Guide
Chapter 3: Virtual Services
Property
Description
Agent
Used for processing requests from Service Virtualization to the real service.
Available when using different request/response agents.
Reply To
Name of queue where the real service sends responses. Click Browse to select a destination.
Used for processing responses sent from the real service to Service Virtualization.
Available when using different request/response agents.
ORACLEAQ
Define the following properties for the request queue, and optionally, for the response queue.
Property
Description
Subscription Agent Name The AQ Agent name that Service Virtualization uses to consume messages.
Queue Name
Dequeue Condition
REST
Define the real service properties
Property
Description
Endpoints
Strict URI
specification
If this option is enabled, the slash character (/) at the end of a URI path is used by Service
Virtualization.
For example, these two URIs are considered 2 different paths:
SAPRFC
Define real and virtual service settings.
Property
Description
Page 132
User Guide
Chapter 3: Virtual Services
Property
Description
Source SAP in Unicode Indicates that the RFC destination you are using is Unicode enabled.
Source SAPPI
Gateway
Client ID
Target SAP in Unicode Indicates that the destination SAP system is Unicode enabled.
SAPIDOC
Define real and virtual service settings.
Property
Description
Source SAP in
Unicode
Indicates that the RFC destination you are using is Unicode enabled.
Source SAPPI
The ID assigned to the RFC destination defined on the SAP or PI server. This destination is used for
responses.
Source SAP in
Unicode
Indicates that the RFC destination you are using is Unicode enabled.
Source SAPPI
Gateway
Client ID
Target SAP in
Unicode
Page 133
User Guide
Chapter 3: Virtual Services
Property
Description
Target SAP in
Unicode
TIBCOEMS
Define the real service properties.
Since Service Virtualization records messages on TIBCO EMS non-intrusively, all parameters in the
configuration are related only to the real service. When the virtual service mode is switched to
Simulating mode, the real service is automatically disconnected from TIBCO EMS and is replaced by
Service Virtualization.
There is no response destination name as the response destination is always read from request
properties.
Property
Description
WebMethods IS SAPIDOC
Define the real service properties.
Property
Description
Response Service Name The WebMethods Integration Server flow service that processes responses.
The request and response service names must be formatted using full names, as specified in the
WebMethods IS documentation. For example:
SAP_EC6.services:ReqFlowService
WebSphere MQ
Define virtual and real service properties.
Property
Description
Select Enable multiple queue managers to enable the use of different MQ managers for
incoming/outgoing messages or for request/response activities.
Page 134
User Guide
Chapter 3: Virtual Services
Property
Description
l
You must define an agent configuration for each queue manager you require. For details, see
Select agent configurations for your virtual service using the Agent and Reply Agent fields
in this dialog box. A virtual service has virtual and real service endpoints, and each endpoint
has an input and an output agent, resulting in four possible agent assignments.
Examples:
The following use cases are examples only. You can configure the agents in any
combination to meet your needs.
l
Server
Use one agent configuration (agent 'A') for handling communication for request
processing, and another agent configuration (agent 'B') for handling communication
for response processing.
Use one agent configuration (agent 'A') for communication between your client (AUT)
and Service Virtualization, and another agent configuration (agent 'B') for
communication between Service Virtualization and the real service.
The Service Virtualization Server on which you want to deploy the virtual service.
Available when using different request/response agents.
Destination
Name
Agent
Reply To
Name of queue where the virtual service will send responses. If the client provides a
ReplyToQueue message property, you can leave this field empty.
Page 135
User Guide
Chapter 3: Virtual Services
Property
Description
Click Browse to select an actual destination or to virtualize a destination.
Reply
Agent
Used for processing responses sent from Service Virtualization to the client.
Available when using different request/response agents.
Agent
Used for processing requests from Service Virtualization to the real service.
Reply To
Name of queue where the real service sends responses. Click Browse to select an actual
destination or to virtualize a destination.
Note: If this field is left empty, Service Virtualization creates a temporary queue for
receiving responses from the real service, and sets the ReplyToQueue message property in
the request to point to that temporary destination.
If the field is left empty:
l
Used for processing responses sent from the real service to Service Virtualization.
Available when using different request/response agents.
WebSphere MQ Non-Intrusive
Define real service properties.
Property
Description
Select Enable multiple queue managers to enable the use of different MQ managers for incoming/outgoing
messages or for request/response activities.
l
You must define an agent configuration for each queue manager you require. For details, see "Agents Page"
on page68.
l
Select agent configurations for your virtual service using the Agent and Reply Agent fields in this dialog
box. A virtual service has virtual and real service endpoints, and each endpoint has an input and an output
agent, resulting in four possible agent assignments.
Examples:
The following use cases are examples only. You can configure the agents in any combination to meet your
Page 136
User Guide
Chapter 3: Virtual Services
Property
Description
needs.
l
Server
Use one agent configuration (agent 'A') for handling communication for request processing, and
another agent configuration (agent 'B') for handling communication for response processing.
Use one agent configuration (agent 'A') for communication between your client (AUT) and Service
Virtualization, and another agent configuration (agent 'B') for communication between Service
Virtualization and the real service.
The Service Virtualization Server on which you want to deploy the virtual service.
Available when using different request/response agents.
Used for processing requests from Service Virtualization to the real service.
Available when using different request/response agents.
Reply To
Name of queue where the real service sends responses. Click Browse to select an actual destination or to
virtualize a destination.
Note: If this field is left empty, Service Virtualization creates a temporary queue for receiving responses
from the real service, and sets the ReplyToQueue message property in the request to point to that
temporary destination.
If the field is left empty:
l
WebSphere MQ must be configured so that Service Virtualization has permission to create temporary
queues.
Page 137
User Guide
Chapter 3: Virtual Services
Property
Description
l
Reply
Agent
The real service request agent (the Agent field) and the real service reply agent (the Reply Agent field)
must be the same.
Used for processing responses sent from the real service to Service Virtualization.
Available when using different request/response agents.
Important
information
General information about this wizard is available here: "Create New Virtual Service Wizard" on page122
For additional details on specific service types, see "Virtual Service Types" on page100.
This dialog box opens when you click Browse for a destination in the Service Properties dialog box.
Note: To view MQ destinations, the user defined for the WebSphere MQ virtual agent must have
sufficient permissions. For details, see "WebSphere MQAgent Settings" on page89.
Wizard map The create new virtual service wizard contains:
"Import Real Service Description Page" on page122 > "Choose Service Protocol Page" on page124 >
"Service Properties Page" on page125 > "Summary of Virtualization Page" on the next page
See also
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
<search box>
Enter a destination name or part of a name to filter the list of destinations displayed.
Virtualized
Page 138
User Guide
Chapter 3: Virtual Services
UI Element
Description
Destinations
Only
Relevant Agents Displays only the list of destinations that you may use.
For example, filters out any destinations for which the agent does not have sufficient permissions to
access, or agents that are not defined on the server with which you are working.
List of available destinations. The destinations displayed are based on the WebSphere MQqueue managers
defined in the WebSphere MQ Service Virtualization agent configurations.
<destinations
list>
Actual destinations.
Virtualized destinations.
Manage Agents
Opens the Agents page, enabling you to add, delete, or reconfigure settings for virtual service agents. For
details, see "Agents Page" on page68.
Virtualize
Selected
Select an actual destination and click Virtualize Selected. Creates a duplicate, virtual destination that
you can use for your virtual service.
In the dialog box that opens, accept the default name for the virtual destination, or enter a different name.
Unvirtualize
Selected
Important
information
General information about this wizard is available here: "Create New Virtual Service Wizard" on
page122.
Page 139
User Guide
Chapter 3: Virtual Services
If you are creating a new virtual service from the Get Started page, a new virtualization project is created for
the service. Click Change to modify project name, path, or agent.
For additional details on specific service types, see "Virtual Service Types" on page100.
Description
Virtual
Service
Real
Service
Project
If you are creating a new virtual service from the Get Started page, a new virtualization project is created for the
service. Click Change to modify the following details:
l
Project. Enter a name for the project or accept the default name.
Path. Enter a path for the project or accept the default path.
Opens a dialog box for the selected component, enabling you to modify settings for your virtual service or real
service.
When you are also creating a new project, you can also edit the project settings.
Note: It is recommended to run the endpoint test, located in the Change Virtual Service dialog box.
Virtualize Creates a new virtual service.
To launch the Multiple Virtual Services wizard, in an existing project, select one of the following:
l
From the main menu, select File > New >Multiple Virtual Services.
In the Virtualization Explorer, right-click a virtualization entity and select Add > Multiple Virtual
Services.
Page 140
User Guide
Chapter 3: Virtual Services
To access
When creating a new virtual service, or editing the endpoints for an existing service, this dialog box opens
Page 141
User Guide
Chapter 3: Virtual Services
Important
information
The buttons displayed in this dialog box vary depending on the protocol you are using.
Relevant
tasks
See also
For details on defining the protocol-specific properties for your endpoints, see "Service Properties Page"
on page125.
Description
Use
Suggested
Uses the address suggested by the Service Virtualization agent, displayed in the dialog box.
Add New
Agent
Opens the Agents Page and creates a new configuration of the agent. For user interface details, see "Agents
Page" on page68.
Virtualization Explorer
The Virtualization Explorer displays the logical structure of your virtualization projects. It shows the
virtualization entities in your project, such as services, models, and topologies, in their hierarchical
structure. It also displays information on the server associated with your project.
Page 142
User Guide
Chapter 3: Virtual Services
The Virtualization Explorer is initially displayed, by default, on the sidebar or in the left pane of the
Service Virtualization window.
To access
If not visible on the sidebar or in the left pane, from the main menu, select View > Virtualization
Explorer .
Important
information
Select an entity in the tree to display its details in the lower pane.
Tip: Each virtualization entity is represented by a different icon. In addition, the icons change to reflect
current statuses. For example, a virtual service icon indicates the service's current mode, such as Learning,
and a server icon indicates the server's current status, such as Online.
Page 143
User Guide
Chapter 3: Virtual Services
In the Virtualization Explorer, double-click the virtual service you want to view or edit.
To access
Important information Some changes you make to the service may require that you restart the service.
Relevant tasks
See also
User interface elements are described below (unlabeled elements are shown in angle brackets):
General
UI Element
Description
<status area>
Puts the selected service into Learning Mode. Any communication through the Virtual Service is
added to the Simulation Model in this mode.
Use the drop down arrow to select which models to update:
l
Data Model
Performance Model
Starts the simulation according to the simulation models selected in the Virtual Service Editor.
If the service was in Learning mode, Service Virtualization first finishes the learning session and
adds any data learned in the session to the Simulation Model.
Puts the service into Standby Mode with the option of maintaining or disposing of learned data.
Opens the Runtime Report to display current information about the service.
Description
Data Model
None. Enables you to pass messages to the real service and receive responses, while still simulating
performance according to the selected Performance Model.
Page 144
User Guide
Chapter 3: Virtual Services
UI Element
Description
None. Causes the virtual service to respond as quickly as possible.
Offline. Simulates the unavailability of the service.
Network
Model
Note: Network Virtualization is a Service Virtualization Labs feature. This field is displayed only if you
have enabled the feature. For details, see "Service Virtualization Labs" on page330.
Add
Opens the Add New Simulation Model dialog box, enabling you to add a new data or performance model.
Edit
Opens the selected data or performance model in the relevant editor. For more details, see "Data Model
Duplicate
Opens the Add New Simulation Model dialog box, enabling you to create a copy of the selected data or
performance model.
Hot Swap
Enables you to select a different performance model when the virtual service is in Simulating mode, without
redeploying virtual service data and restarting simulation.
Select the model you want to switch to, and click Hot Swap .
Any unsent messages waiting to be processed according to the response time of the current performance
model are sent immediately. The new model is used for any subsequent requests.
To switch the performance model during simulation:
l
neither the current model or the model you are selecting can be the Offline performance model.
you cannot switch to the Maximal Performance model if you want to also use the Real Service data
model.
Description
l
For details on Service Virtualization agent properties, see "Agents Page" on page68.
For details on protocol-specific endpoint properties, see "Service Properties Page" on page125.
Opens the Edit Endpoints dialog box, enabling you to edit real and virtual service information. For details,
see "Edit Endpoints Dialog Box" on page147.
Configure
Opens the Agents page in the Options dialog box, enabling you to configure the agent used by the virtual
service. For details, see "Agents Page" on page68.
Message
Logging
Enables logging.
l
To view logged messages in the Designer message viewer, use the click here link.
Page 145
User Guide
Chapter 3: Virtual Services
UI Element
Description
l
To open the Designer log folder, from the Windows Start menu, select Service Virtualization >
To open the Server log folder, from the Windows Start menu, select Service Virtualization >Server
Disable Schema
Learning
Description
Edit
Opens the Service Description Editor, enabling you to add new operations to the service, or update metadata. For
details, see "Service Description Editor" on page150.
Note: Editing the service description is not supported for some protocols.
Update
From File
Opens the Update Service Description dialog box, enabling you to replace the service description file.
Description
Opens the Edit Credential Store dialog box, enabling you to create and edit user identities. For details, see "Edit
Edit
Credential Credential Store Dialog Box" on page304.
Store
Enabled
Mode
Default supported message security modes. For details, see "How to Set Message Security" on page293.
Real
Service
Identity
The identity of the real service, its certificate, is stored in the Credential Store. This setting is used if a service uses
a certificate for message security. The public key of the certificate is used to encrypt messages sent to the real
service.
Virtual
Service
Identity
The identity of the virtual service, its certificate, is stored in the Credential Store.
l
If the Real Service Identity contains the certificate with a private key, this setting does not need to be
configured. In this scenario, the Real Service Identity is also used as the identity of the virtual service.
Page 146
User Guide
Chapter 3: Virtual Services
UI
Element
Description
If the Real Service Identity contains only a certificate without a private key, this setting must be configured to
provide the identity of the virtual service. The configured identity must contain a certificate with a private key,
as the service requires the private key to decrypt the messages coming from the client.
Clients must trust the certificate used as the identity of the virtual service.
Security
Applied
To
Indicates on which message parts security is applied - request elements, response elements, or both.
Advanced
Settings
Opens the Advanced Message Security Settings dialog box. For details, see "Advanced Message Security
Description
Virtual/Real
Service
Note:
l
For details on Service Virtualization agent properties, see "Agents Page" on page68.
page125.
Show Endpoint
Topology
Test Endpoints
Advanced Settings - Available for SOAP services over HTTP, TIBCO EMS, and JMS
Ignore WS
Addressing
Do Not Send
MTOM
By default, if an MTOM message is received when a virtual service is in Standby or Learning mode, the
message is passed to the real service also as MTOM. This option instructs Service Virtualization to pass the
message as a normal XML message with base64 content instead.
Write Schema
Types
By default, the xsi:type attribute is included only when necessary, according to the XML specification.
This option instructs Service Virtualization to always include the xsi:type attribute for XML elements
in a simulated response, indicating the schema type of that element.
Page 147
User Guide
Chapter 3: Virtual Services
UI Element
Description
Use
'soapenc:Array'
as Array Type
In SOAP encoding, all arrays are derived from the soap-enc:Array type. By default, when the
xsi:type for an array element is written, the real array type is used, such as ns:ArrayOfString .
However, some SOAP clients may require the base type instead (soap-enc:Array ). This option
instructs Service Virtualization to emit soap-enc:Array to array elements instead of the real type.
Advanced RESTSettings
If this option is enabled, the slash character (/) at the end of a URI path is used by Service Virtualization.
Strict
URIspecification For example, these two URIs are considered 2 different paths:
To access
Page 148
User Guide
Chapter 3: Virtual Services
Important information
For details on Service Virtualization agent properties, see "Agents Page" on page68.
page125.
Description
Runtime Server
Select a server or enter the URL for a new server on which to deploy the virtual services in the open project.
Note: The servers available in the drop-down list are the servers configured in your project. To view,
add, or delete servers, from the main menu, select Tools >Options, and click the Servers tab.
Agent
Manage Agents
Opens the Agents page, enabling you to add, delete, or reconfigure settings for virtual service agents. For
details, see "Agents Page" on page68.
Duplicate
Original
Configuration
Opens the Agents page, and copies the configuration on the current server to create a configuration on
the new server. You can modify the settings of the new configuration.
define the default location for saving projects in the file system
Page 149
User Guide
Chapter 3: Virtual Services
To access
Description
Default
project
location
Load
previous
solution
on startup
When you open the Designer, Service Virtualization opens the solution in which you
were previously working.
Show
password
Page 150
User Guide
Chapter 3: Virtual Services
To access
In the Virtualization Explorer, expand a virtual service and double-click the service description.
Important
information
Relevant tasks
See also
You can edit URISpaces when working with the REST protocol, and edit operations when working with
XML protocols.
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
<Operations pane>
Located in the left pane of the editor. Displays a list of the operations or URI spaces in the service.
Enter text in the filter box to filter for specific operations in the list.
Select an operation or URI space to display its details.
Add Operation
IDoc Correlation
Settings
Enables you to edit settings for asynchronous IDoc message transfer between two SAP systems.
For details, see "How to Virtualize SAPIDoc Communication" on page114.
Available for a SAPIDoc service.
Session ID Definition
Defines the elements used to identify requests coming from the same source during a Learning
session.
The following identifiers are configured by default:
l
Other transport protocols (TibcoEMS, GenericJMS, JDBC) do not have default session identifiers.
Page 151
User Guide
Chapter 3: Virtual Services
UI Element
Description
Tracks are created after each Learning session.
Click Edit to modify the settings. For details, see "SessionID Definition Wizard" below.
Message Metadata
Enables you to edit request and response metadata. Click Edit to open the Edit Metadata dialog
box. For details, see "Edit Metadata Dialog Box" on page160.
XMLSchemas
Lists all XML schema defined in the service description. You can add an XMLschema, or edit or remove
schemas.
l
Add. Opens the Import XMLSchema dialog box, enabling you to enter a file location for an existing
schema (.xsd file), and add it to the service description.
Edit. Opens the schema in an XML editor, enabling you to modify the schema. Click the Tools pane
to access tools for editing the schema.
URISpace
Properties
Data Formats
Data Masking
Relevant
Service Virtualization defines default identifiers based on the protocol and agent you define for the virtual
service. This wizard enables you to modify the default selections.
The following can be defined as session identifiers:
l
message elements
cookies
Page 152
User Guide
Chapter 3: Virtual Services
tasks
See also
Important
information
General information about this wizard is available here: "SessionID Definition Wizard" on the previous page
Wizard map
"Define Default Session IDs Page" above > "Select Session IDPage" below > "Define Data Format
Session IDs Page" on page155 > "Define Session IDs Summary Page" on page156
Description
Metadata. Enables you to define which metadata to use as a session identifier. Select an option
from the Data Key list.
Data Key
None. The data is not placed into tracks based on metadata values.
Page 153
User Guide
Chapter 3: Virtual Services
Important
General information about this wizard is available here: "SessionID Definition Wizard" on page152
information
Wizard map The Session ID Definition wizard contains:
"Define Default Session IDs Page" on the previous page > "Select Session IDPage" on the previous
page > "Define Operation Specific Session IDs Page" below > "Define Data Format Session IDs Page" on
the next page > "Define Session IDs Summary Page" on page156
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
Page 154
User Guide
Chapter 3: Virtual Services
Important
General information about this wizard is available here: "SessionID Definition Wizard" on page152
information
Wizard map The Session ID Definition wizard contains:
"Define Default Session IDs Page" on page153 > "Select Session IDPage" on page153 > "Define
Operation Specific Session IDs Page" on the previous page > "Define Data Format Session IDs Page"
below > "Define Session IDs Summary Page" on the next page
Description
Operation
Session
IDSource
In Message. Enables you to define an element within the message to use as a session identifier. Select an
option from the Data Key list.
Data Key
None. The data is not placed into tracks based on values at the operation level.
The message element used as the session identifier. The data key can be a message header or a field.
Available when you select In Message in the Session IDSource field.
Click Edit to change the selection.
Edit
Response
Delete
Response
Edit Data
Formats
Opens the Define Data Format Session IDs page, enabling you to define session identifiers per data format
type. For details, see "Define Data Format Session IDs Page" below.
Page 155
User Guide
Chapter 3: Virtual Services
Important
General information about this wizard is available here: "SessionID Definition Wizard" on page152
information
Wizard map The Session ID Definition wizard contains:
"Define Default Session IDs Page" on page153 > "Select Session IDPage" on page153 > "Define
Operation Specific Session IDs Page" on page154 > "Define Data Format Session IDs Page" on the
previous page > "Define Session IDs Summary Page" below
Description
Data Format
Session
IDSource
In Message Enables you to define an element within the message to use as a session identifier. Select an
option from the Data Key list.
Data Key
None. The data is not placed into tracks based on data format.
Page 156
User Guide
Chapter 3: Virtual Services
Important
information
General information about this wizard is available here: "SessionID Definition Wizard" on page152
Description
Mapped
The percentage of current learned data that can be mapped to a distinct session, based on your session
ID selections.
Not mapped
The percentage of current learned data that cannot be mapped to a distinct session, based on your
session ID selections.
Finish
Saves your selections. Learned data is grouped into tracks after the next Learning session.
Page 157
User Guide
Chapter 3: Virtual Services
To access
Important
information
In the Data Model Editor, right-click a column header and select Mask.
When you set or change data masking settings, all data from associated operations in all data models in the
service are removed.
In the Data Model Editor, columns that are configured for data masking are marked with a red hash sign (#)
in the column header.
If message logging is enabled for the virtual service, and you then configure data masking, message logging
will be disabled. For details on message logging, see "Message Logging" on page118.
Relevant
tasks
See also
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
Search
element
Algorithm
Parameters If you are using the Replace algorithm option, the parameters indicate the match pattern and replace value you
defined.
Page 158
User Guide
Chapter 3: Virtual Services
UI Element
Description
To change the parameters, click the parameter link to open the Replace Algorithm Configuration dialog box.
Tip: RIght-click in the parameter field and select Copy to copy/paste the parameter definition to another
element.
<operations Displays each operation in the service. Click to expand operations and drill down to the specific request and
response elements that you want to configure.
table>
To access
In the Data Masking dialog box, select a data element, and do one of the following:
l
For an element already configured to use the Replace function, click in the Parameters column.
Important
information
When you set or change data masking settings, all data from associated operations in all data models in
the service are removed.
Relevant tasks
See also
Page 159
User Guide
Chapter 3: Virtual Services
Description
Enter a string to use to replace the strings that match your specifications.
For example, you might want to replace credit card data with the following value:
XXXX-XXXX-XXXX-XXXX
From File. Browse the file system to select a file. The data is masked using the
contents of the selected file.
Expressions" on page226.
Match pattern
Enter the string that you want to match, or click the drop-down arrow to select a
previously entered string.
Replace value
The value you want to use to replace the data that matches your Match pattern.
Enter the string that you want to use to mask the data you are replacing.
Updates all elements in all data models in the service that are using this regular
expression for data masking.
Test Input
Test Output
Page 160
User Guide
Chapter 3: Virtual Services
In the Service Description Editor, under Request Metadata or Response Metadata, select Edit .
To access
See also
Enable
Disable
Deactivate the selected metadata. Disabled metatada are not available for viewing or editing in the Data Model
Editor, and values for disabled metadata are not learned or simulated.
Disabled metadata are displayed in gray.
Add
Opens the Add New Metadata dialog box. Enter a name and select a type for the new metadata. The types available
vary based on the protocol with which you are working.
Edit
Delete
Removes the metadata from all data models in the virtual service, and deletes the metadata's related data.
Page 161
User Guide
Chapter 3: Virtual Services
To access
1. In the Service Description Editor, in the operations pane on the left side, select a URI
space.
Description
URISpace
Enter the path of the existing URI space you want to copy.
Data Format
Type
External File Opens the Import XMLSchema dialog box, enabling you to import a schema from an external file.
Page 162
Chapter 4: Simulation
This chapter includes:
Simulation Overview
164
164
Service Locking
167
168
Page 163
User Guide
Chapter 4: Simulation
Simulation Overview
After a virtual service is created, you define simulation data. You can do this by manual design, or by
recording real service activity in order to learn about the requests and responses of the real service.
You can then use the recorded data to create data and performance models that define how the virtual
service should behave during simulation.
Before a simulation session, you can select which simulation models to use. You can simulate various
scenarios:
Use both a data model and a performance model to simulate the real service. Both data and
performance are simulated, and the real service does not receive any communication.
Turn off data simulation to let the real service respond. Only performance is simulated using one of
the performance models.
Turn off performance simulation. Response times are not affected. Only data is simulated using one
of the data models.
Standby mode. The virtual service redirects requests to the real service, and redirects responses
from the real service back to the client. The virtual service is not learning, and not simulating.
Simulating mode. The virtual service responds to client requests according to learned behavior. This
is the main use of the virtual service, and the mode you use for testing purposes.
This task is part of a higher-level task. For details, see "How to Use Service Virtualization" on
page20.
Page 164
User Guide
Chapter 4: Simulation
To learn more about virtual services, see "Simulation Overview" on the previous page.
If a service is locked by another client, a message displays in the Virtual Service Editor. For
details, see "Service Locking" on page167.
Prerequisites
Create and configure virtual services.
2.
Reconfigure clients
Reconfigure your client to use the virtual service endpoints in place of the real service endpoints.
This is required in cases where Service Virtualization can only perform intrusive virtualization.
3.
4.
Page 165
User Guide
Chapter 4: Simulation
Alternatively, you can choose to save only some of the collected data. Click the Learn dropdown arrow to select a simulation model to which you want to save recorded data.
b. Run the application communicating with the real service. Service calls are recorded.
c. To view the learned data after recording, open the Data Model Editor and click the Learned
Data rule. For user interface details, see "Data Model Editor" on page234.
5.
6.
If you select a performance model only, the real service responds and only the performance is
simulated.
If you select a data model only, response times are not affected, and only data is simulated.
Simulate
a. In the Virtual Service Editor, click Simulate to place the virtual service in Simulating mode. The
virtual service is ready to respond to client requests . The real service does not receive any
communication.
b. Run your client application. The virtual service responds to requests, and returns responses
based on its associated simulation models.
c. When you want to complete the simulation session, click Stop to move the virtual service into
Standby mode. Client requests are then answered by the real service.
7.
Runtime View. View and control all of the virtual services in your project. During a learning or
simulation session, the Runtime View provides an overview of the communication through the
virtual services. From the main menu, select View > Runtime View.
Problem List. View errors, warnings, and informational messages about events that occurred
during the application or server run. From the main menu, select View > Problem List.
Service Administration. View and manage all services from configured servers, without
opening individual projects. On the Start Page, click Service Administration.
Alternatively, from the main menu, select View > Service Administration.
Service Virtualization Management. View and manage services from multiple Service
Virtualization projects and servers in a web browser, without opening the projects. For details,
see "Service Virtualization Management" on page174.
Page 166
User Guide
Chapter 4: Simulation
8.
9.
Service Locking
If a service is locked by another client, the following message displays in the Virtual Service Editor:
The Service Virtualization Designer or a test emanating from HP LoadRunner may need to know that
they own a virtual service, or that virtual service is available, in order to prevent conflicts. They may also
need to know who the present owner of a service is, as a service can be owned by only one client at a
time. If a service is locked by the owner, other clients can see who the owner is, as each client has a
unique client ID.
When a service is locked, its configuration and all of its data and performance models are also locked.
The owner of the service can modify the service and its model, but other clients cannot. If a user tries to
modify the service or its model, a message displays indicating that the service is locked, and specifying
which client is the owner of the service. If a Designer or a test is the owner, then modification is
permitted.
To unlock a locked service:
If a technical problem occurs or a test runs too long, you can force an unlock in the Service Virtualization
Designer. To unlock the service, from the Runtime View or Service Administration, under More Actions,
select Unlock.
Note: No changes are allowed to a service and its models during the learning process. This process
must be completed regardless of the owner of the virtual service. Unlock is not available during
this time.
Page 167
User Guide
Chapter 4: Simulation
Runtime View
169
Problem List
170
Service Administration
171
Page 168
User Guide
Chapter 4: Simulation
Runtime View
The Runtime View enables you to view and control all of the virtual services in your project. During a
learning or simulation session, the Runtime View provides an overview of the communication through
the virtual services.
To access
Important information The context menu enables you to show/hide data columns on the page. Right-click to view.
Relevant tasks
See also
Description
Puts the selected service into Learning Mode. Any communication through the Virtual Service is added to
the Simulation Model in this mode.
Use the drop down arrow to select which models to update:
l
Data Model
Performance Model
Starts the simulation according to the simulation models selected in the Virtual Service Editor.
If the service was in Learning mode, Service Virtualization first finishes the learning session and adds any
data learned in the session to the Simulation Model.
Puts the service into Standby Mode with the option of maintaining or disposing of learned data.
Info. Opens the Runtime Report to display current information about the service.
Unlock. Unlocks the selected service. For more details, see "Service Locking" on page167.
Undeploy. Undeploys the selected service.
All
Enables you to filter the displayed services according to virtual service mode.
Click the arrow to display the filter options.
Data Model
Page 169
User Guide
Chapter 4: Simulation
UI Element
Description
Endpoints
Info
Located under the More Actions menu. Opens the Runtime Report to display current information about the
service.
Messages
(Unique)
The number of messages and unique messages passed through the virtual service during the current
learning or simulation session.
Performance
Model
Project
Server
Status
Undeploy
Located under the More Actions menu. Undeploys the selected service.
Unlock
Located under the More Actions menu. Unlocks the selected service. For more details, see "Service
Click the name link to open the model in the Performance Model Editor.
Locking" on page167.
Virtual Service
Displays the list of all services from configured servers. Click on a service name to open the service in the
Virtual Service Editor.
Problem List
The Problem List displays errors, warnings, and informational messages about events that occurred
during the application or server run. The source of problems can be either runtime errors in the
application, or a problem occurring during a service lifecycle. For example, during deployment, or while
in Standby, Learning, or Simulating modes.
To access
By default, the information displayed is automatically filtered according to the editor that is open. For example,
Important
information if you open the Virtual Service Editor, the Problem List displays problems related to the service. If you open the
Data Model Editor, problems are filtered for issues related to the data model.
Relevant
tasks
See also
User interface elements are described below (unlabeled elements are shown in angle brackets):
Page 170
User Guide
Chapter 4: Simulation
UI Element
Description
<message filter>
Type
Fix It
Description
Time
Service Administration
This page enables you to view and manage all services from configured servers, without opening
individual projects. All virtual services are displayed with their statues, associated models, and server
locations. You can change selections for simulation models in use, and view the server on which a
service is deployed.
To access
Important information The context menu enables you to show/hide data columns on the page. Right-click to view.
Relevant tasks
See also
Page 171
User Guide
Chapter 4: Simulation
Description
Not enabled in Service Administration. To place services in Learning mode, you must use the Virtual Service
Editor in an open project.
Starts the simulation according to the selected simulation models. You can choose different models using
the Data Model and Performance Model columns.
If the service was in Learning mode, Service Virtualization first finishes the learning session and adds any
data learned in the session to the Simulation Model.
Puts the service into Standby Mode with the option of maintaining or disposing of learned data.
Manage Servers. Opens the Servers tab of the Options dialog box, enabling you to add and delete servers.
Hot Swap Performance Model. Enables you to select a different performance model when the virtual
service is in Simulating mode, without redeploying virtual service data and restarting simulation. For more
details, see "Virtual Service Editor" on page143.
Select the model you want to switch to, and from the Actions menu, click Hot Swap Performance
Model .
Any unsent messages waiting to be processed according to the response time of the current performance
model are sent immediately. The new model is used for any subsequent requests.
To switch the performance model during simulation:
l
neither the current model or the model you are selecting can be the Offline performance model.
you cannot switch to the Maximal Performance model if you want to also use the Real Service data
model.
Info. Opens the Runtime Report to display current information about the service.
Unlock. Unlocks the selected service. For more details, see "Service Locking" on page167.
Undeploy. Undeploys the selected service.
All
Enables you to filter the displayed services according to virtual service mode.
Click the arrow to display the filter options.
Data Model
The data model currently in use for the selected service. Click the arrow to select a different data model.
When you change a model, an asterisk is displayed next to the model name, indicating that the change was
not yet applied. To apply the new model, you must redeploy the relevant service by changing its mode to
Standby or Simulate.
Endpoints
Info
Located under the More Actions menu. Opens the Runtime Report to display current information about the
service.
Manage
Servers
Located under the More Actions menu. Opens the Servers tab of the Options dialog box, enabling you to
add and delete servers.
Messages
(Unique)
The number of messages and unique messages passed through the virtual service during the current
learning or simulation session.
Page 172
User Guide
Chapter 4: Simulation
UI Element
Description
Performance
Model
The performance model currently in use for the selected service. Click the arrow to select a different
performance model.
When you change a model, an asterisk is displayed next to the model name, indicating that the change was
not yet applied. To apply the new model, you must redeploy the relevant service by changing its mode to
Standby or Simulate.
Project
Server
Status
The number of problems that occurred. Click to display details in the Problems List.
Undeploy
Located under the More Actions menu. Undeploys the selected service.
Unlock
Located under the More Actions menu. Unlocks the selected service. For more details, see "Service
Locking" on page167.
View
Enables you to filter the displayed services according to server. Click the arrow to display the filter options.
Virtual Service
Displays the list of all services from configured servers. Click on a service name to open the service in the
Virtual Service Editor.
Page 173
175
175
Page 174
User Guide
Chapter 5: Service Virtualization Management
Undeploy services.
Deploy additional virtualization projects and services located in HPApplication Lifecycle Management
(ALM) or in the file system.
After you create and configure virtual services in the Service Virtualization Designer, the services can be
deployed on any Service Virtualization Server. Service Virtualization Management provides a convenient
method for allowing others to access and manage virtual services deployed on any Service Virtualization
Server. For example, anyone performing testing can work with the virtual services from a browser
window, with no additional installation or configuration.
In addition, Service Virtualization Management enables you to consume virtual services that are stored
in a network location. You can download virtual services to your Service Virtualization Server, without
the need to install the Service Virtualization Designer.
Note:
l
When you are working with a secured Service Virtualization Server, the actions available to you
and the information displayed vary, based on your user access permissions. For example, a user
who is not assigned to any of the Service Virtualization user groups cannot view any agent data
or any services deployed on the server. For details on the Service Virtualization user groups, see
the HP Service Virtualization Installation Guide.
The Service Virtualization service, Server, and Management versions must match. If the
service/project was created in an earlier version, open it in the Designer to upgrade the project
to the new version.
For task details, see "How to Get Started Using Service Virtualization Management" below.
Page 175
User Guide
Chapter 5: Service Virtualization Management
To learn more about Service Virtualization Management, see "Service Virtualization Management
Overview" on the previous page.
This section includes:
l
"Prerequisites" below
Prerequisites
l
To log in to Service Virtualization Management, you must be a member of the SVM Users group on
the Service Virtualization Server machine. For details on the Service Virtualization user groups, see
the HP Service Virtualization Installation Guide.
Make sure you are using a supported browser. For details, see the HP Service Virtualization
Installation Guide.
Note: For the most up-to-date list of supported browsers and versions, refer to the support
matrix on the HPSoftware Support site at: http://h20230.www2.hp.com/sc/support_
matrices.jsp, or contact support.
Page 176
User Guide
Chapter 5: Service Virtualization Management
For more details on Service Virtualization network ports, see the HP Service Virtualization Installation
Guide.
Troubleshoot
If an issue arises, review the web server and proxy logs, located in %ProgramData%\HewlettPackard\HP Service Virtualization Server\ManagementInterface\logs.
Page 177
179
180
192
Automation example
194
Page 178
User Guide
Chapter 6: Command Line Virtual Service Management
Automate virtual service management when working with HP test automation tools. For details on
working with the HP test automation tools, see "HPTest Automation Tools Integration" on page307.
Deploy a virtual service on multiple Service Virtualization Servers. For details, see "How to Deploy a
Virtual Service on Multiple Service Virtualization Servers" on page192.
undeploy services
For task details, see "How to Manage Virtual Services from the Command Line" on the next page.
Page 179
User Guide
Chapter 6: Command Line Virtual Service Management
To learn more about managing virtual services from the command line, see "Command Line
Management Overview" on the previous page.
Parameter values may not include spaces. If a value includes spaces, you must put it in quotation
marks. For example, the path "C:\Users\Default\Documents\HP Service
Virtualization\Projects\ShoppingCart Virtualization Project\ShoppingCart Virtualization
Project\ShoppingCart Virtualization Project.vproj".
Some Service Virtualization configurations may deploy individual services on multiple Service
Virtualization Servers. If you have defined the servers.properties file for virtual service
deployment on multiple servers, you can use some of the SVConfigurator commands to
simultaneously perform actions on all of the virtual services, using the --servers parameter. For
details on multiple server deployment, see "How to Deploy a Virtual Service on Multiple Service
Virtualization Servers" on page192.
Log file: When you run SVConfigurator, a log file is created in your Windows user profile
directory.
"Prerequisites" below
"Export" on page184
Prerequisites
To work with an encrypted project, you must install Java Cryptography Extension (JCE) Unlimited
Page 180
User Guide
Chapter 6: Command Line Virtual Service Management
Strength Jurisdiction. Select one of the following, based on the Java version with which you are working:
l
Deploy services
Deploy or undeploy a virtualization project, or a single service from the project to the Service
Virtualization Server.
1. Do one of the following:
l
On the Service Virtualization Server, open a command prompt. Navigate to the \bin folder under
the Service Virtualization Server installation folder. By default, C:\Program Files\HP\HP Service
Virtualization Server\Tools\SVConfigurator\bin\.
On the Service Virtualization Designer machine, open a command prompt. Navigate to the \bin
folder under the Designer installation folder. By default, C:\Program Files (x86)\HP\HP Service
Virtualization Designer\Tools\SVConfigurator\bin\.
2. Run SVConfigurator.cmd DEPLOYPROJECT [parameters] <project file> at the command line, using
the following options:
Note: For Linux, use SVConfigurator.sh.
Parameter
Description
Required
parameters
<project file>
Path to a project file (.vproj or .vproja) whose services you want to deploy on the server.
Optional
parameters
-w or
--projectpassword <arg>
-f or
--force
Force mode. If the service to be deployed is locked, the command automatically unlocks it. It is
-u or
--undeploy
-s or
--service <arg>
Deploys only the specified service. You can specify a service by its name or ID.
-url or
--mgmt-url <arg>
then automatically locked by SVConfigurator. Use caution with this option as you can delete
another users data.
Page 181
User Guide
Chapter 6: Command Line Virtual Service Management
Parameter
Description
-usr or
--username <arg>
-pwd or
--password <arg>
--servers <arg>
The path to the servers.properties file containing a list of Service Virtualization Servers and
their properties - management URL, username, and password.
Used to deploy the project or service on multiple Service Virtualization Servers.
Note: You can also use the --use-server parameter to indicate an individual Service
Virtualization Server on which to deploy the project or services.
--use-server
<arg>
Selected server ID from the list of servers in the servers.properties file. Only the specified
server will be used.
Must be used together with the --servers parameter.
--first-agentfallback
Automatically uses the first compatible agent if it cannot find the exact agent specified in the
virtual service.
On the Service Virtualization Server, open a command prompt. Navigate to the \bin folder under
the Service Virtualization Server installation folder. By default, C:\Program Files\HP\HP Service
Virtualization Server\Tools\SVConfigurator\bin\.
On the Service Virtualization Designer machine, open a command prompt. Navigate to the \bin
folder under the Designer installation folder. By default, C:\Program Files (x86)\HP\HP Service
Virtualization Designer\Tools\SVConfigurator\bin\.
Description
Required
parameters
<service ident>
Identification of the service you want to view. You can use either the name or ID of the service.
If there is more than one service with the same name on the server, you have to either specify the
project file where the service is located (using the optional p parameter below), or identify the
service by its ID.
Page 182
User Guide
Chapter 6: Command Line Virtual Service Management
Parameter
Description
<service mode>
Optional
parameters
-f or
--force
Force mode. If the service to be deployed is locked, the command will automatically unlock it. It
-dm <arg> or
--data-model
<arg>
is then automatically locked by SVConfigurator. Use caution with this option as you can delete
another users data.
-dm-default (for
Simulation only)
If you use -dm-default . the first data model according to an alphabetical listing is used.
Tip: Use the View command to find the service's data models.
-pm <arg> or
--perf-model
<arg>
Tip: Use the View command to see the service's performance models.
-p <source_path> Project file (.vproj or .vproja). Specify the project file in order to differentiate the services on the
server. If there is more than one service with the same name but in different projects, and you
or
--project <source_ want to identify the service by name, you must specify the project file.
path>
-w or
--projectpassword <arg>
-url or
--mgmt-url <arg>
-usr or
--username <arg>
-pwd or
--password <arg>
--servers <arg>
The path to the servers.properties file containing a list of Service Virtualization Servers and
their properties - management URL, username, and password.
Page 183
User Guide
Chapter 6: Command Line Virtual Service Management
Parameter
Description
Used to change the mode of the virtual service on all Service Virtualization Servers on which is it
deployed.
Note: You can also use the --use-server parameter to indicate an individual Service
Virtualization Server on which to perform the action.
--use-server
<arg>
Selected server ID from the list of servers in the servers.properties file. Only the specified
server will be used.
Must be used together with the --servers parameter.
Export
Export all projects and services, or a single service, deployed on a Service Virtualization Server.
1. Do one of the following:
l
On the Service Virtualization Server, open a command prompt. Navigate to the \bin folder under
the Service Virtualization Server installation folder. By default, C:\Program Files\HP\HP Service
Virtualization Server\Tools\SVConfigurator\bin\.
On the Service Virtualization Designer machine, open a command prompt. Navigate to the \bin
folder under the Designer installation folder. By default, C:\Program Files (x86)\HP\HP Service
Virtualization Designer\Tools\SVConfigurator\bin\.
2. Run SVConfigurator.cmd EXPORT [parameters] <d> at the command line, using the following
options:
Parameter
Description
Required
parameters
-d or
--directory <arg>
Optional
parameters
-pwd or
--password <arg>
--servers <arg>
The path to the servers.properties file containing a list of Service Virtualization Servers and
their properties - management URL, username, and password.
Note: You must also use the --use-server parameter to indicate the Service Virtualization
Server from which to export.
--use-server
<arg>
Selected server ID from the list of servers in the servers.properties file. Only the specified
server will be used.
Must be used together with the --servers parameter.
Page 184
User Guide
Chapter 6: Command Line Virtual Service Management
Parameter
Description
-s or
--service <arg>
Exports only the specified service. You specify a service by its ID.
-url or
--mgmt-url <arg>
-usr or
--username <arg>
On the Service Virtualization Server, open a command prompt. Navigate to the \bin folder under
the Service Virtualization Server installation folder. By default, C:\Program Files\HP\HP Service
Virtualization Server\Tools\SVConfigurator\bin\.
On the Service Virtualization Designer machine, open a command prompt. Navigate to the \bin
folder under the Designer installation folder. By default, C:\Program Files (x86)\HP\HP Service
Virtualization Designer\Tools\SVConfigurator\bin\.
2. Run SVConfigurator.cmd HOTSWAP [parameters] <service ident> at the command line, using the
following options:
Note: For Linux, use SVConfigurator.sh.
Parameter
Description
Required
parameters
<service ident>
Force mode. If the service to be deployed is locked, the command will automatically unlock it. It
-pm or
is then automatically locked by SVConfigurator. Use caution with this option as you can delete
another users data.
Page 185
User Guide
Chapter 6: Command Line Virtual Service Management
Parameter
Description
--perf-model
<arg>
You must specify this parameter for Learning and Simulation modes.
-pwd or
--password <arg>
--servers <arg>
The path to the servers.properties file containing a list of Service Virtualization Servers and
their properties - management URL, username, and password.
Tip: Use the View command to see the service's performance models.
Used to change the performance model for the virtual service on all Service Virtualization Servers
on which it is deployed.
Note: You can also use the --use-server parameter to indicate an individual Service
Virtualization Server on which to perform the action.
--use-server
<arg>
Selected server ID from the list of servers in the servers.properties file. Only the specified
server will be used.
Must be used together with the --servers parameter.
-url or
--mgmt-url <arg>
-usr or
--username <arg>
On the Service Virtualization Server, open a command prompt. Navigate to the \bin folder under
the Service Virtualization Server installation folder. By default, C:\Program Files\HP\HP Service
Virtualization Server\Tools\SVConfigurator\bin\.
On the Service Virtualization Designer machine, open a command prompt. Navigate to the \bin
folder under the Designer installation folder. By default, C:\Program Files (x86)\HP\HP Service
Virtualization Designer\Tools\SVConfigurator\bin\.
2. Run SVConfigurator.cmd VIEW [parameters] <service> at the command line, using the following
options:
Note: For Linux, use SVConfigurator.sh.
Parameter
Description
Required
parameters
<service>
Identification of the service you want to view. You can use either the name or ID of the service.
Page 186
User Guide
Chapter 6: Command Line Virtual Service Management
Parameter
Description
If there is more than one service with the same name on the server, you have to either specify the
project file where the service is located (using the optional p parameter below), or identify the
service by its ID.
-p <source_path>
or
--project
<source_path>
Project file (.vproj or .vproja). Specify the project file in order to differentiate the services on the
-w or
--projectpassword <arg>
server. If there is more than one service with the same name but in different projects, and you
want to identify the service by name, you must specify the project file.
-usr or
--username <arg>
-pwd or
--password <arg>
--servers <arg>
The path to the servers.properties file containing a list of Service Virtualization Servers and
their properties - management URL, username, and password.
Note: You must also use the --use-server parameter to indicate the Service Virtualization
Server on which the service is deployed.
--use-server
<arg>
Selected server ID from the list of servers in the servers.properties file. Only the specified
server will be used.
Must be used together with the --servers parameter.
On the Service Virtualization Server, open a command prompt. Navigate to the \bin folder under
the Service Virtualization Server installation folder. By default, C:\Program Files\HP\HP Service
Virtualization Server\Tools\SVConfigurator\bin\.
Page 187
User Guide
Chapter 6: Command Line Virtual Service Management
On the Service Virtualization Designer machine, open a command prompt. Navigate to the \bin
folder under the Designer installation folder. By default, C:\Program Files (x86)\HP\HP Service
Virtualization Designer\Tools\SVConfigurator\bin\.
2. Run SVConfigurator.cmd LIST [parameters] at the command line, using the following optional
parameters:
Note: For Linux, use SVConfigurator.sh.
Parameter
Description
-p <source_path>
or
--project <source_
path>
Project file (.vproj or .vproja). Specify the project file in order to list only the deployed services in
-pwd
or
--password <arg>
--servers <arg>
The path to the servers.properties file containing a list of Service Virtualization Servers and
their properties - management URL, username, and password.
Note: You must also use the --use-server parameter to indicate the Service Virtualization
Server on which to perform the List action.
--use-server <arg> Selected server ID from the list of servers in the servers.properties file. Only the specified
server will be used.
Must be used together with the --servers parameter.
-url or
--mgmt-url <arg>
-usr or
--username <arg>
-w or
--projectpassword <arg>
On the Service Virtualization Server, open a command prompt. Navigate to the \bin folder under
the Service Virtualization Server installation folder. By default, C:\Program Files\HP\HP Service
Virtualization Server\Tools\SVConfigurator\bin\.
On the Service Virtualization Designer machine, open a command prompt. Navigate to the \bin
folder under the Designer installation folder. By default, C:\Program Files (x86)\HP\HP Service
Virtualization Designer\Tools\SVConfigurator\bin\.
Page 188
User Guide
Chapter 6: Command Line Virtual Service Management
2. Run SVConfigurator.cmd LISTPROJECT [parameters] <project file> at the command line, using the
following optional parameters:
Note: For Linux, use SVConfigurator.sh.
Parameter
Description
Required parameters
Path to a project file (.vproj or .vproja) whose contents you want to view.
<project file>
Optional parameters
-w or
--project-password
<arg>
Unlock services
Unlock a service deployed on the Service Virtualization Server that is locked by another user. You can
then lock it by your client.
1. Do one of the following:
l
On the Service Virtualization Server, open a command prompt. Navigate to the \bin folder under
the Service Virtualization Server installation folder. By default, C:\Program Files\HP\HP Service
Virtualization Server\Tools\SVConfigurator\bin\.
On the Service Virtualization Designer machine, open a command prompt. Navigate to the \bin
folder under the Designer installation folder. By default, C:\Program Files (x86)\HP\HP Service
Virtualization Designer\Tools\SVConfigurator\bin\.
Description
Required
parameters
<service>
Identification of the service you want to unlock. You can use either the name or ID of the service.
If there is more than one service with the same name on the server, you have to either specify the
project file where the service is located (using the optional p parameter below), or identify the
service by its ID.
Project file (.vproj or .vproja). Specify the project file in order to differentiate the services on the
server. If there is more than one service with the same name but in different projects, and you
want to identify the service by name, you must specify the project file.
Page 189
User Guide
Chapter 6: Command Line Virtual Service Management
Parameter
Description
-l or
--lock
-w or
--projectpassword <arg>
-usr or
--username <arg>
-pwd or
--password <arg>
--servers <arg>
The path to the servers.properties file containing a list of Service Virtualization Servers and
their properties - management URL, username, and password.
Used to unlock the virtual service on all Service Virtualization Servers on which it is deployed.
Note: You can also use the --use-server parameter to indicate an individual Service
Virtualization Server on which to perform the action.
--use-server
<arg>
Selected server ID from the list of servers in the servers.properties file. Only the specified
server will be used.
Must be used together with the --servers parameter.
Undeploy services
Undeploy a virtual service or project from the Service Virtualization Server.
1. Do one of the following:
l
On the Service Virtualization Server, open a command prompt. Navigate to the \bin folder under
the Service Virtualization Server installation folder. By default, C:\Program Files\HP\HP Service
Virtualization Server\Tools\SVConfigurator\bin\.
On the Service Virtualization Designer machine, open a command prompt. Navigate to the \bin
folder under the Designer installation folder. By default, C:\Program Files (x86)\HP\HP Service
Virtualization Designer\Tools\SVConfigurator\bin\.
2. Run SVConfigurator.cmd UNDEPLOY [parameters] at the command line, using the following
optional parameters:
Parameter
Description
Optional
parameters
Page 190
User Guide
Chapter 6: Command Line Virtual Service Management
Parameter
Description
-f
or
--force
Force mode. If the service you want to undeploy is locked, the command automatically unlocks
it. It is then automatically locked by SVConfigurator. Use caution with this option as you can delete
another users data.
-p <source_path> Project file (.vproj or .vproja). Specify the project file containing services that you want to
undeploy.
or
--project <source_
path>
-pwd or
--password <arg>
--servers <arg>
The path to the servers.properties file containing a list of Service Virtualization Servers and
their properties - management URL, username, and password.
Used to undeploy the virtual service on all Service Virtualization Servers on which it is deployed.
Note: You can also use the --use-server parameter to indicate an individual Service
Virtualization Server on which to perform the action.
--use-server
<arg>
Selected server ID from the list of servers in the servers.properties file. Only the specified
server will be used.
Must be used together with the --servers parameter.
-s or
--service <arg>
Undeploys only the specified service. You can specify a service by its name or ID.
-url or
--mgmt-url <arg>
-usr or
--username <arg>
-w or
--projectpassword <arg>
Update a service
Download learned data from the Service Virtualization Server to update the data model, performance
model, and service description of a specified service.
Note: The UPDATE command is not supported for service call activity.
For an example of how to automate this process, see "Automation example" on page194.
1. Do one of the following:
l
On the Service Virtualization Server, open a command prompt. Navigate to the \bin folder under
the Service Virtualization Server installation folder. By default, C:\Program Files\HP\HP Service
Virtualization Server\Tools\SVConfigurator\bin\.
Page 191
User Guide
Chapter 6: Command Line Virtual Service Management
On the Service Virtualization Designer machine, open a command prompt. Navigate to the \bin
folder under the Designer installation folder. By default, C:\Program Files (x86)\HP\HP Service
Virtualization Designer\Tools\SVConfigurator\bin\.
2. Run SVConfigurator.cmd UPDATE [parameters] <project_file> at the command line, using the
following optional parameters:
Parameter
Description
Required
parameters
project_file
Optional
parameters
-pwd or
--password <arg>
--servers <arg>
The path to the servers.properties file containing a list of Service Virtualization Servers and
their properties - management URL, username, and password.
Note: You must also use the --use-server parameter to indicate the Service Virtualization
Server from which to download the learned data.
--use-server <arg> Selected server ID from the list of servers in the servers.properties file. Only the specified
server will be used.
Must be used together with the --servers parameter.
-s or
--service <arg>
The service that you want to update. You can specify the service by its name or ID.
-url or
--mgmt-url <arg>
-usr or
--username <arg>
-w or
--projectpassword <arg>
Page 192
User Guide
Chapter 6: Command Line Virtual Service Management
Create a Java format .properties file in which you list the URLs/endpoints of the Service Virtualization
Servers, and the Server logon credentials (user name and password).
Use the SVConfigurator command line interface to simultaneously perform actions on the virtual
service on all of the Service Virtualization Servers on which it is deployed, by providing the path to the
.properties file.
Other SVConfigurator commands are used for a single Service Virtualization Server only.
For details on using the SVConfigurator command line interface, see "How to Manage Virtual
Page 193
User Guide
Chapter 6: Command Line Virtual Service Management
Automation example
This example demonstrates how to use the SVConfigurator command line interface to update your local
project with data recorded during learning on a Service Virtualization Server. The update command
updates the data model, performance model, and service description of a specified service.
For details on using SVConfigurator, see "How to Manage Virtual Services from the Command Line" on
page180.
1. Deploy your virtual service using the SVConfigurator DEPLOYPROJECT command.
2. Switch the virtual service into Learning mode using the SVConfigurator CHANGEMODE command.
3. Start working with your AUT or client application while Service Virtualization records the real
service behavior.
4. Stop learning on the Service Virtualization Server by switching the virtual service to STAND_BY or
SIMULATING mode, using the SVConfigurator CHANGEMODEcommand.
5. Update your local project with the data learned on the Service Virtualization Server, using the
SVConfigurator UPDATE command.
6. Remove the virtual service from the Service Virtualization Server, using the SVConfigurator
UNDEPLOYcommand.
Page 194
196
196
Page 195
User Guide
Chapter 7: Simulation Modeling
The Data Model enables you to record actual requests and responses for a real service and then use
this data for simulation using a virtual service. You can create and customize the data model to meet
your needs. You can use recorded data as a basis for your data model, and also add new learned
data, add service calls, and model stateful behavior to simulate a service where the order of
requests is important. You can also add custom data, or add data from an external data source. This
enables you to model the interaction between the service under test and the simulated service to
meet many integration test cases. For details, see "Data Model Overview" on page199.
Performance Model
The Performance Model enables you to record the performance for a real service and then use this
as a model for a virtual service. You can customize the performance criteria of the model to meet
many performance use cases. For details, see "Performance Model Overview" on page271.
For task details, see "How to Manage Simulation Models" below.
This task is part of a higher-level task. For details, see "How to Use Service Virtualization" on
page20.
To learn more about simulation models, see "Simulation Modeling Overview" above.
Page 196
User Guide
Chapter 7: Simulation Modeling
To add a new simulation model, in the Virtual Service Editor, under Simulation Models, click Add.
To create a new simulation model by copying an existing model, select a model and click Duplicate.
Page 197
199
206
208
233
261
Page 198
User Guide
Chapter 8: Data Modeling
Data Rules
The data model consists of a set of data rules for each operation in the service. You can configure the
model using the Service Virtualization default rules and functions, or create your own to customize
simulated behavior.
The following types of rules are available:
l
Custom Rules
Custom Rules enable you to manipulate some aspect of the simulated behavior. You can set custom
responses and service call activity to specific requests enabling you to perform various testing use
cases.
There are two types of custom rules:
l
Blank rules. New, empty rules enable you to customize any element of a message. For example,
you may find that your learned data rule is too specific, providing you with an incomplete
response. You can create a new rule to customize one element of the message, enabling you to
continue to use learned data for other elements.
Data driven rules. Data driven rules are used to bind request and response data from an external
Page 199
User Guide
Chapter 8: Data Modeling
data source. The data can then be used by multiple applications or exported from external
applications, such as HP LoadRunner or HP Unified Functional Testing. The data source can be
edited by an external application and then refreshed in the data model.
Rule Prioritization
You can set the priority of multiple rules to determine the order in which each rule is applied during
simulation. This enables you to meet various simulation testing use cases. Generally, rules are applied in
the following order:
1. Custom rules or external data rules. Custom rules can be used, for example, for requests that
cannot be recorded or have not yet been recorded.
They can be placed before or after the Learned Data rule.
2. The Learned Data rule, to provide typical responses and service call activity of the real service.
3. The Default Response rule, to provide a single generic response or generic parts of response data
where other rules do not apply.
You can also temporarily disable a rule. A disabled rule is not applied during simulation.
Tracks
Another main feature of the data model are tracks. Tracks determine the order of the simulated
service behavior.
In many test cases, the order of requests is important because a service may return different
responses for the same request depending on the current state of the service. Service Virtualization
enables you to simulate this stateful behavior using tracks. Tracks enable you to construct sequences
of requests and responses in the data model for the service. During a simulation session, Service
Virtualization moves along the tracks according to test requests that match the requests in the track
and returns the appropriate response. For example, if the simulated service can return an approve or
deny response which is determined by a particular state of the service, you can determine which
response to return by specifying the sequence of requests and responses in the track.
Page 200
User Guide
Chapter 8: Data Modeling
Import Messages
New rows can be added to a rule by learning new data, by adding a new row and manually editing its
cells, or by importing messages.
Importing messages is useful in the case when it is not possible or it is difficult to learn communication
between a tested application and a simulated service directly, but it is possible to listen to the
communication and log transported messages via another tool. It is possible to import a request and/or
response part of the message in the same format as it is sent via communication protocol from a
clipboard or from a file. For example, you may have an SDK that includes sample messages which you
can copy. If a message is imported from a file, the file may contain only the request or response part of
one message.
Multi Response
In addition to the simple simulation of a request-response pattern, Service Virtualization can simulate a
request-response pattern where 0 to n responses are given per request. The number of responses can
vary based on the service state. An operation may have a one-way pattern, such as clearing a shopping
cart, or may include multiple responses. For example, as part of an order processing update, responses
could include order received, order opened, and order shipped.
Service Virtualization enables both the learning and editing of multiple responses, their types, and their
service states. For performance simulation, learning and simulation is limited to the response time of
the first response. If learned data includes multiple responses, Service Virtualization looks only at the
first response time. During simulation, all responses are sent at that first response time.
These features are available on both the Service Virtualization standalone server, and the embedded
server. The supported protocols are XML and binary services over WebSphere MQ and JMS.
To learn more about how simulation works in Service Virtualization, see "The Simulation Process"
on page206.
For task details, see "How to Modify Virtual Service Behavior" on page208.
To learn more, see also:
l
Rule Functions
The data model is made up of rules that define the behavior of the virtual service. The rules are made
up of rows, in which each row represents a response/request pair. Rule functions are used to define the
behavior of the responses, in order to directly impact the simulation. Functions are set on a per column,
per operation basis.
Page 201
User Guide
Chapter 8: Data Modeling
Action functions. Used to manipulate data in response columns. Action functions cannot be used in
request columns.
When the simulation is in progress, the simulator engine walks through each rule according to rule
priorities, looking for a single row in each rule that most precisely conforms to the condition functions
used. When a single data row is selected, all the action functions are applied to that row.
Example:
Suppose your scenario is to retrieve credit card data according to customer name.
l
The name data is your request, and you would define it with the Is condition function.
The credit card data is your response, and you would define it with the Set action function.
So, if the customer name is Jane Doe and her credit card number is 1234-5678-1234-5678, one row
in your rule would be as follows:
The request data is Jane Doe, where the function used = Is.
The response data uses the function Set, which sets the response to 1234-5678-1234-5678.
There are several categories of functions in Service Virtualization:
l
Is. If the incoming message data matches the value of this field, Service Virtualization performs
the response action defined in this row.
Ignore. If the incoming message data matches the value of this field, Service Virtualization
ignores the data. It does not impact the simulation.
Set. The simulation returns the response that is listed in this field.
Copy from. The simulation takes the value of another field and returns it as the response.
Note:
l
For the Learned Data rule, request columns are defined as Is, and response columns are defined
as Set.
Page 202
User Guide
Chapter 8: Data Modeling
In a new, custom rule, the default function for all columns is Ignore. The data in the column does
not influence the simulation in any way.
Array functions
The following functions are available for use when the message includes an array data structure:
l
Condition functions:
l
Compare ordered. This condition is met when items in an array match and are in the same
order.This is the default condition function for arrays.
Compare unordered. This condition is met when items in an array match, but may be in a
different order.
Action functions:
l
Replace array. Sets the response to the relevant array values. Generates array items for the
response data according to the number of array items in the rule's matching row.
Set array items count. Enables you to define a set number of array items for the action to create
in the response.
Copy array items count. Generates the same number of array items as are in an array that you
select. (You select the source array the same way you select a source element for the Copy From
function.)
Array template. Does not generate any array items in the response, but fills existing array items
with values from array items in the rule's matching row. If the rule's matching row does not
contain enough array items to fill values in all existing array items in the response, this action
uses the value of the last array item as a template for all the remaining array items in the
response.
Example:
You can create a rule with the highest priority in the data model, and use the Set Array Items
Count to create a specified number of empty array items. Assign an Ignore action to the array
items so that they remain empty and another rule can overwrite their values.
Then create a lower priority rule, using the Array Template action, with a Set action on the array
items to fill in the values in the response. You can also use one of the dynamic data functions,
such as the random number generator function, to fill the values of the array items with
meaningful response data.
Page 203
User Guide
Chapter 8: Data Modeling
Custom functions
You can define custom functions to manage more complex conditions. These are to be used by an
advanced user aware of the complete system structure. Complex conditions can be set with structured
query language.
There are two classes of variables:
l
Input ($input_*). Input variables are those present in a processing row during simulation. A more
simplified explanation of Input variables is that they are data from requests.
Data ($data_*). Data variables represent data written in the cell.
For task details, see "How to Define Rule Functions" on page210.
Data Driving
To facilitate data-driven testing, you can add external data sources to your virtual services.
When you associate an external data source with a virtual service, you need to create mappings
between the data columns in the external file, and the columns/headers in your data rule. You do this by
configuring binding in the data model.
Array Binding
You can also bind array data. When the message structure contains an array that needs to be datadriven, you need to work with a properly structured Excel file. The file must contain database-like
relationships, using primary and foreign keys, which allow the mapping of one row to many. You can
create the file manually, or by exporting learned data that is in the desired format to a new Excel file.
The following example shows the relationship between a search definition and the search result. A
record in the Search worksheet is identified via its primary key id, and referenced from the Search
Page 204
User Guide
Chapter 8: Data Modeling
Result worksheet via the foreign key searchId. This enables the return of two rows for a search with id
3, or zero rows for search of id 4.
Simulation Preview
Simulation Preview enables you to view in real time how changes in the data model affect your
simulation.
You can:
l
Test changes. Make changes to a data rule, or to data in a row, and examine the impact on the
simulated response.
Assess change impact. Make a change in one part of the data model, and examine the impact on the
simulation.
Troubleshoot. Determine why a learned request does not match any rules in your data model.
Page 205
User Guide
Chapter 8: Data Modeling
Service Virtualization creates a response based on the rules in the particular operation. All rules have
exactly the same structure (data columns) and are ordered by priority, with the highest priority rule at
the top.
Each rule contains a set of condition and action functions. Service Virtualization uses condition
functions to select a data row from every rule that matches the request. As a result, at most, one data
row is selected from each rule. You define the functions you want to use for each data column.
Then, Service Virtualization uses action functions from matching rules to formulate the response,
resulting in a response that may be compiled from parts of different rules. One part of a response may
come from one rule, with other parts coming from other rules. If two rules want to write to the same
column, then the rule with the higher priority, that is higher in the list, determines the response.
Page 206
User Guide
Chapter 8: Data Modeling
Page 207
User Guide
Chapter 8: Data Modeling
After all the rules were processed, were changes made to the response?
If at least one of the rules modified a part of the response, Service Virtualization goes over the rules
again, starting with the first, highest priority rule. If something has changed, one of the rules which may
not have matched the request data may now match. This can cause a change in the response.
To learn more about customizing virtual service behavior to meet your needs, see "Data
Model Overview" on page199.
For task details, see "How to Modify Virtual Service Behavior" below.
Add data
You can add data to your data model in the following ways:
Page 208
User Guide
Chapter 8: Data Modeling
Learn Data. Put the virtual service into Learning mode to record real service behavior. When you are
finished recording, the learned data is added to the data model. For user interface details, see
"Virtual Service Editor" on page143.
Import Messages. Import existing messages from a file, or copy/paste message formats into the
data model. For user interface details, see "Import Request/Response Message Dialog Box" on
page245.
Data driven rule. Create a new rule using an external file as a data source. See the next step on
adding external data sources.
For details on configuring the rules, see "How to Define Rule Functions" on the next page.
Page 209
User Guide
Chapter 8: Data Modeling
1. In the Data Model Editor, select the operation from which you want to call the external service.
2. Click Activity > Import Activities.
For details, see "How to Call External Services" on page230.
Preview changes
You can view in real time how changes in the data model are affecting your simulation. In the Data
Model Editor, select a row, and then select View Options > Simulation Preview.
The Simulation Preview pane displays a simulation of a message whose request matches the currently
selected message in the Data Model Editor table. The message is passed to the simulation engine and
the result is displayed in the response section.
For user interface details, see "Simulation Preview Pane" on page241.
Apply changes
To apply changes, you must restart your simulation. In the Data Model Editor, click Restart Simulation.
Page 210
User Guide
Chapter 8: Data Modeling
Select a function
1. In the Data Model Editor, expand a rule.
2. Click inside the function field (fx) for a column and select a function. If the function row is not
displayed, from the View Options menu, select Functions.
Note: Dynamic data functions are available for lowest level headers only. Complex
headers that include lower level headers under them are displayed in italic text (header).
To display lower level headers, double-click the column header.
b. Configure the output format for the function. For details on configuring dynamic data
functions, see "How to Configure Dynamic Data Functions" on the next page.
Page 211
User Guide
Chapter 8: Data Modeling
212
217
220
224
"Examples" on page215
Page 212
User Guide
Chapter 8: Data Modeling
Note: Dynamic data functions are available for lowest level headers only. Complex headers
that include lower level headers under them are displayed in italic text (header). To display
lower level headers, double-click the column header.
Offset is an integer. Used as the starting point for generating the output of the sequential number
generator.
Note: To generate a sequence of numbers that differs for each request/response, each cell with
this generator function has an internal numerical counter. When the simulation starts, this
counter is always set to 0. Each time a generator function is called, the output value is
determined based on the offset and counter. After the output is determined, the value of the
counter is increased by the value of the increment, or decreased if the increment is a negative
number.
Increment is a positive or negative integer. Indicates the change to make from one number in the
sequence to the next.
FormatString defines the format of the output of the sequential number generator.
Page 213
User Guide
Chapter 8: Data Modeling
To determine the output of the number generator, Service Virtualization goes through the format
string and constructs an output string using specific rules, explained below.
Each special sequence must start and end with the '#' character.
Each special sequence must contain one or more D characters. These characters act like a digit
wildcard for a number that will be generated by this generator function. The number will always
occupy exactly the number of specified digits. If the number does not occupy all digits, zeros are
added before it so that it does.
For example, if:
- the special sequence is #DDDD#
- and the number generated by the function is 568
- the output is 0568.
A special sequence may also contain 'd' characters. These characters act as placeholders. If the
output of the generator function requires this space, then it will hold a number. If the generated
number does not occupy all digits, then the extra spaces are left empty, and not populated with
zeros. 'd' characters may only be placed before 'D' characters.
For example, if:
- the special sequence is #ddDDD#
- and the number generated by the function is 9857
- the output is 9857.
For the number 125:
- the sequence #DDDDD# outputs 00125
- the sequence #ddDDD# outputs 125
- and the sequence ##dDDDD outputs 0125.
Page 214
User Guide
Chapter 8: Data Modeling
If the number is greater than the maximal number that can be stored within the digits, it is truncated
so that it fits within (e.g. if the number was 3456 and the special sequence was #DDD#, the output
will be 456).
If the number is negative, it is truncated the same way as above. Then an additional offset is applied.
The value of this offset is based on the number of digits and is selected so that -1 becomes the
biggest number that fits within these digits. For example, if the special sequence was #DDDDD#, -1
becomes 99999. If it was #DD#, -67813 becomes -13 which then becomes 87.
For each empty special sequence (when there are two # characters next to each other), a single #
character is inserted into the output string.
The numerical output of the generator will be a number that has exactly as many digits as there are
'D' characters in all of the special sequences in the field combined.
Any characters that are not part of a special sequence are copied to the output string.
Examples
Increasing sequence
The typical use case is generating strings that make use of an increasing number sequence.
Example: Your input, typed in the cell under the sequential number generator function:
0;1;Visitor###DDD#
will produce the sequence Visitor#000, Visitor#001, Visitor#002...
Decreasing sequence
In cases where remaining time or another resource that is being depleted may identify some
object, the decreasing sequences are used to generate such identifiers.
Example: The real service may be generating identifiers based on time remaining until some event
starts.
Your input, typed into cell under the sequential number generator function:
10000;-100;SnapshotTimeTMinus:#DDDDD#
This cell produces the output sequence: SnapshotTimeTMinus:10000, SnapshotTimeTMinus:09900,
SnapshotTimeTMinus:09800, etc.
Page 215
User Guide
Chapter 8: Data Modeling
Page 216
User Guide
Chapter 8: Data Modeling
1234-5678-9012-3456
1234-5678-9012-3457
1234-5678-9012-3458
1234-5678-9012-3459
etc.
"Examples" on page219
Page 217
User Guide
Chapter 8: Data Modeling
Note: Dynamic data functions are available for lowest level headers only. Complex headers
that include lower level headers under them are displayed in italic text (header). To display
lower level headers, double-click the column header.
Minimum_number is the lowest possible number to be used in the output of the random number
generator.
Maximum_number is the highest possible number to be used in the output of the random number
generator.
FormatString defines the format of the output of the random number generator.
To determine the output of the number generator, Service Virtualization goes through the format
string and constructs an output string using specific rules, explained below.
Each special sequence must start and end with the '#' character.
Each special sequence must contain one or more D characters. These characters act like a digit
wildcard for a number that will be generated by this generator function. The number will always
occupy exactly the number of specified digits. If the number does not occupy all digits, zeros are
added before it so that it does.
For example, if:
- the special sequence is #DDDD#
- and the number generated by the function is 568
- the output is 0568.
A special sequence may also contain 'd' characters. These characters act as placeholders. If the
output of the generator function requires this space, then it will hold a number. If the generated
number does not occupy all digits, then the extra spaces are left empty, and not populated with
Page 218
User Guide
Chapter 8: Data Modeling
Service Virtualization defines the output of the generator according to the following additional
guidelines:
l
If the number is greater than the maximal number that can be stored within the digits, it is truncated
so that it fits within (e.g. if the number was 3456 and the special sequence was #DDD#, the output
will be 456).
If the number is negative, it is truncated the same way as above. Then an additional offset is applied.
The value of this offset is based on the number of digits and is selected so that -1 becomes the
biggest number that fits within these digits. For example, if the special sequence was #DDDDD#, -1
becomes 99999. If it was #DD#, -67813 becomes -13 which then becomes 87.
For each empty special sequence (when there are two # characters next to each other), a single #
character is inserted into the output string.
The numerical output of the generator will be a number that has exactly as many digits as there are
'D' characters in all of the special sequences in the field combined.
Any characters that are not part of a special sequence are copied to the output string.
Examples
To generate a random number between 0 and 9999999, to be appended to the number 201, type
the following format into each cell under the random number generator function:
0;9999999;201#DDDDDDD#
Page 219
User Guide
Chapter 8: Data Modeling
where:
0 is the minimum number
9999999 is the maximum number
201 is a text string,
and #DDDDDDD# is a special sequence, indicating that the generated number can be up to 7-digits
in length
Result: The output is any number between 2010000000 and 2019999999.
Instead, you could format the cell as follows:
0;9999999;201#dddDDDD#
Result: The output is any number between 2010000 and 2019999999.
Page 220
User Guide
Chapter 8: Data Modeling
Note:
If the function row is not displayed, from the View Options menu, select Functions.
Dynamic data functions are available for lowest level headers only. Complex headers that
include lower level headers under them are displayed in italic text (header). To display
lower level headers, double-click the column header.
Offset. Defines the modification that you want to make to the source date/time. Enter the offset
into each cell under the date/time function.
If the offset is not specified for a particular cell or is in an incorrect format, an offset of 0 seconds is
used.
Format. Defines the format of the output. The resulting date/time that is output to the message
response is formatted according to one of the following:
l
The custom format that you define for the output of the function.
Page 221
User Guide
Chapter 8: Data Modeling
"-" (optional) indicates a negative time (a time earlier than the source time)
-54.12:00:59.1234567
0:00:00.001
365.0:00:00
Note: If you are using the set relative date/time function, the resulting date is generated
according to the UTC+0 time zone.
Examples:
You are located in UTC-8 and have created a function with an offset of +1 day.
At 20:00 (8:00 P.M.), the generated relative time will be 4:00 (4 A.M.) the day after tomorrow,
calculated as follows:
20:00(today) + 1 day (your requested offset) + 8 hours (to adjust for your time zone) = 4:00 (the day
after tomorrow)
To maintain the same date/time as your time zone, adjust for the difference using the offset.
For example, if you are located in UTC-8 and you want to define +1 day offset, you must also
subtract 8 hours, as follows:
16:00:00#dd-MM-yyyy# (where 16:00:00 represents 1 day - 8 hours)
For an offset of +1 day, if you are located in the UTC+2 time zone:
1:02:00:00#dd-MM-yyyy# (where 1:02:00:00 represents 1 day + 2 hours)
Page 222
User Guide
Chapter 8: Data Modeling
If detected, the format of the output of the date/time function is based on the XSD type, provided that
you have not defined a custom format.
No other formats, including JSON date/time formats, can be detected, as their internal type is xsi:string.
If the application cannot detect the format from the element's type, xsi:dateTime's format is used by
default. If you want to specify other output formats, you can define a custom format.
Custom Format
To configure a custom format, enter the following into each cell under the date/time function:
Offset#CustomFormat
You define a custom format using the following:
l
"f" .. "fffffff" - Fractions of a second, number of "f" characters specifies number of digits to print.
Page 223
User Guide
Chapter 8: Data Modeling
regular characters (all characters except the ones mentioned above) - generated "as is". To generate
a character that has a special meaning (is part of one of the custom formats above, such as s),
place a '\' before it.
Examples:
If today's date is December 10, 2012:
l
Description
Example
{n}
{n+}
Page 224
User Guide
Chapter 8: Data Modeling
Format
Description
Example
{n:m}
Regular text
Example:
In the Format field of the Substring dialog box, you enter the following format string:
All characters:{1+}. Only 6th and 8th characters: {6}{8}. Result of \{5:5\} is: {5:5}. First 13 characters
reversed: {13-1}.
The source string is: 123456789ABCDEF
The result, output to the cell configured with the substring function is:
All characters:123456789ABCDEF. Only 6th and 8th characters: 68. Result of {5:5} is: 56789. First 13
characters reversed: DCBA987654321.
Page 225
User Guide
Chapter 8: Data Modeling
$input_int The original string is converted to the int data type, for integer data. It contains NULL if
the input string is not of this data type.
$input_float The original string is converted to the float data type, for floating point numeric data.
It contains NULL if the input string is not of this data type.
$input_date The original string is converted to the date data type, to define a date. It contains NULL
if the input string is not of this data type.
Match request data (cast to integer) smaller than actual value (cast to integer) found in the column
$input_int < $data_int
Match request data (cast to integer) smaller than actual value (cast to float) found in the column
$input_int < $data_float
Match actual value found in the column (cast to string) equal to 'cat' string $data_string = 'cat'
Match request data (cast to string) equal to 'cat' string $input_string = 'cat'
Match request data (cast to string) equal to actual value (cast to string using an SQL 'LIKE' operation)
$input_string LIKE $data_string
Match request data (cast to string) equal to any string starting with the actual value found in the
column $input_string LIKE $data_string + '%'
Match request data (cast to string) containing a substring 'cat' $input_string LIKE '%cat%'
Match request data (cast to date) smaller than actual data $input_date < $data_date
Match request data smaller than actual data OR request data equal to 'dogs' string $input_date <
$data_date OR $input_string = 'dogs'
Page 226
User Guide
Chapter 8: Data Modeling
Examples:
Match pattern field
Sample input
Sample output
\b(\w+)(\s)(\w+)\b
$3$2$1
one two
two one
\b(?<word1>\w+)(\s)(?<word2>\w+)\b
${word2} ${word1}
one two
two one
For information on creating regular expressions and some examples of their use, visit this site: Regular
Expression Language - Quick Reference.
This task is part of a higher-level task. For details, see "How to Modify Virtual Service Behavior"
on page208.
To learn more about external data sources, see "Data Driving" on page204.
For a use-case scenario related to this task, see "Working with External Data Sources - Use-case
Example" on page229.
Page 227
User Guide
Chapter 8: Data Modeling
For details, see "New Data Driven Rule Dialog Box" on page249.
Result: A "preview" of your external data file displays within the rule.
Note that the worksheets in the external file are displayed as tabs at the bottom of the data table.
2.
3.
Page 228
User Guide
Chapter 8: Data Modeling
4.
5.
6.
7.
8.
Page 229
User Guide
Chapter 8: Data Modeling
It can be difficult to manually configure an Excel worksheet when your data has a particular complex
structure. As an alternative to manually setting up a file and configuring binding in the Data Model, you
can create a new data driven rule, and have Service Virtualization create a new data file for you,
according to your message structure.
1. Create a virtual service.
2. In the Data Model, create a new data driven rule and select Create new data file. Service
Virtualization will create the new file according to your message structure, and bind the columns.
3. Select Data Synchronization to automatically re-import data in the new file before Simulation.
Alternatively, clear the Data Synchronization check box. You can choose to import at a later time.
4. After the new data file is created, you can add data to it. If you selected Data Synchronization,
when you place your virtual service into Simulating mode, the external data is re-imported. If you
did not select Data Synchronization, you can choose to refresh the data manually at any time, or
reconfigure the rule for data synchronization.
This task is part of a higher-level task. For details, see "How to Modify Virtual Service Behavior"
on page208.
Service call activity is supported for:
l
1. In the Data Model Editor, select the operation from which you want to call the external service.
2. To select a service description that was already imported into the project, click Activity. Select the
activity to add, and choose whether to add it before or after the response.
3. To import a new service description, click Activity > Import Activities. Enter the path to the WSDL
for a SOAP service, or the path to the XMLschema for an XMLservice.
Note: If you are importing an XML service that requires HTTP authentication, you must add the
user name and password to the Service Virtualization credential store.
l
The Identify Name you enter in the credential store must be SCA:<name of called
activity>.
Alternatively, you can create a global Identity Name SCA which is used if no specific identity
exists in the credential store.
For user interface details, see "Edit Credential Store Dialog Box" on page304.
Page 230
User Guide
Chapter 8: Data Modeling
4. For a SOAP service: In the Select Service Operation dialog box, select an activity to add, or import
the service description document for use at a later time. For user interface details, see "Select
Service Operation Dialog Box" on page258.
5. For an XML over HTTP service: In the Service Properties dialog boxes:
a. Select message elements for input and output messages.
b. Enter the URL on which the real service runs.
6. To add service call activity at a later time, click Activity again and select an activity.
7. To edit properties for a service call activity, right-click the activity's column header and click
Activity Properties. For user interface details, see "Activity Properties Dialog Box" on page260.
8. To edit protocol metadata (add/enable/disable protocol headers), right-click the activity's column
header and click Activity Service Description Editor. Then click Edit for request or response
metadata. For user interface details, see "Edit Metadata Dialog Box" on page160.
9. To remove the service call activity from a rule, right-click the column header and click Remove
Activity.
10. To enable/disable the service call for a rule, click the on/off
header.
11. To handle connection failure, define a response for the virtual service to return if the service call
activity cannot connect to the external service.
a. Prerequisite: A rule with service call activity enabled.
b. Create an additional rule with a lower priority than the rule that contains the enabled service
call activity.
c. In the new rule:
o
Set the service call activity's response Type column with the Is function, and assign the
value Service Call Failure. The ServiceCallFailure column is displayed.
In the ServiceCallFailure column, select a value for the response: UNKNOWN, HOST_NOT_
FOUND, CONNECTION_FAILED, CONNECTION_TIMEOUT. By default, the connection timeout is
100 seconds.
Tip:
l
You can use the Copy from function on any service call request column, or virtual service
response column. Select the Copy from function. The columns that you can use as a source are
highlighted. Click the desired source column.
Use the Row Detail dialog box for easier configuration of the service call activity. For details, see
"Row Detail Dialog Box" on page242.
Page 231
User Guide
Chapter 8: Data Modeling
"Troubleshoot" below
4. Select an existing row in a data rule, or create a custom rule with a higher priority to view the
impact on the simulation.
5. View the impact on the message response in the pinned row in Simulation Preview.
Troubleshoot
If you have a message request that is not matching any rule in your data model, you can compare it to
rows in the data rules to look for a problem in your rule definitions.
1. Open Simulation Preview.
2. Do one of the following:
a. Select an existing row in a data rule.
b. Right-click in Simulation Preview and select Import Request.
Page 232
User Guide
Chapter 8: Data Modeling
3. Click
234
238
241
241
242
244
245
247
248
249
250
252
253
254
256
257
258
259
260
Page 233
User Guide
Chapter 8: Data Modeling
To access
Important
information
In the Virtual Service Editor, under Data Models, select a data model and click Edit .
Many of the actions you can perform in the Data Model Editor are available only from context menus. For
details, see "Data Model Editor Context Menus" on page238.
Relevant
tasks
See also
Tip: To access the Data Model Editor menus, press the Alt key and press a number from 1 - 6. For example,
to open the View Options menu, press Alt + 5.
Service Virtualization supports MIMEattachments that are recorded during learning of the real service
behavior, for services using the following protocols over HTTP: REST, SOAP, binary, and XML services
User interface elements are described below (unlabeled elements are shown in angle brackets):
Page 234
User Guide
Chapter 8: Data Modeling
UI Element
Description
<operations/URISpaces Operations pane. Located in the left pane of the editor. Displays a list of the operations in the
service associated with the selected data model.
pane>
Enter text in the filter box to filter for specific operations in the list.
Select an operation from the list to display its details in the main pane of the Data Model Editor.
Operation
Displays the name of the currently selected virtual service, and lists the operations in the virtual
service. Select an operation from the list to display its details in the main pane of the Data Model
Editor.
Learned Data
Learned Data rule. Created by default when you create a virtual service. Displays the requests
and responses recorded during a learning session of a virtual service.
Default Response
Default Response rule. Created by default when you create a virtual service. The response that
is provided when the data does not match any other rule. The Default Response rule always has
the lowest priority.
<rule elements>
Expand rule. Click the arrow before the rule number to expand a rule.
For details on the functions used in rules, see "Rule Functions" on page201.
Rule priority. The rule number indicates the order in which the rule is applied during
simulation.
To move a rule up or down in the list to change its priority, click the up/down icon
after the rule number.
Rule name and description. Click to edit. Available only for custom rules.
Import/Export icons. When the rule is associated with an external data file, one of the
following icons is displayed:
The data was imported from an external file and is configured to automatically reimport before each Simulation session.
Page 235
User Guide
Chapter 8: Data Modeling
UI Element
Description
The data was exported to an external file and is configured to automatically reexport after each Learning session.
x/x rows. Indicates the number of rows for this rule in this operation, out of the total rows
Tip: Press Ctrl + the rule number to select a rule, or to expand/collapse the selected
rule.
Enables you to create a new custom rule. Custom rules apply to all operations in the service.
Includes the following options:
l
Blank Rule. Enables you to create a new, custom rule with an embedded data source, used to
modify some aspect of simulation, such as to rewrite part of the response, add service call
activity, or add more data.
The blank rule can be added before or after the default Learned Data rule.
Scripted Rule (Beta). Enables you to create a new, custom rule with a script to access
request data and set response data. For details, see "Scripted Rules" on page331.
Note: Scripted rules are a Service Virtualization Labs feature. This field is displayed only if
you have enabled the feature. For details, see "Service Virtualization Labs" on
page330.
Data Driven Rule. Opens the Use Existing Data Source dialog box, enabling you to create a
new rule using an external file as a data source, such as an Excel file. A new read-only rule is
created for this data source.
Select the data source file, and assign a name to the data source.
Select First row contains names of columns to use the header row of the source file for
the rule's column names.
The data driven rule can be added before or after the default Learned Data rule.
Browse and Search Operations/URI Spaces. Opens the Operations pane, displaying the
list of operations included in the service.
In the search box, enter a name or part of a name to search and filter for specific operations in
the list.
Select an operation from the list to display its details in the main pane of the Data Model Editor.
Edit Operations/URI Spaces. Opens the Service Description Editor, enabling you to modify
the operations or URI spaces, their data formats, and metadata. For details, see "Service
Description Editor" on page150.
Note: Available only for supported protocols.
Page 236
User Guide
Chapter 8: Data Modeling
UI Element
Description
Recently Used Operations/URI Spaces. Lists your most recently used operations or URI
Change Columns. Opens the Change Columns dialog box, enabling you to select the headers
to display for the operation. For details, see "Change Columns Dialog Box" on page254.
Insert Path. Enables you to select a path to a Service Virtualization element, and add it to a
scripted rule.
Note: Scripted rules are a Service Virtualization Labs feature. This field is displayed only if
you have enabled the feature. For details, see "Service Virtualization Labs" on page330.
Enables you to configure the virtual service to call an external service:
Import Activities. Opens the Import Real Service Description dialog box, enabling you to
import a service description of a service whose operations you can use as service call activities.
Available for: SOAP and XMLover HTTP.
Note: After import, the on/off icon displays in the activity column header in the rule,
enabling you to enable/disable the service call for the rule.
Functions. Displays the function row within rules, enabling you to set conditions for data
columns.
Highlight Columns. Displays column headers in different colors according to function type:
Action, Condition, and Ignore.
>Options, and click theData Model Editor tab. For details, see "Data Model Editor Options
Page" on page241.
l
Data Binding. Displays the data binding row within rules, enabling you to configure binding.
For more details, see "Data Driving" on page204.
Time Stamp. Displays the time stamp column within rules, which shows the time of creation
or last modification of the rule.
Page 237
User Guide
Chapter 8: Data Modeling
UI Element
Description
l
Simulation Preview. Displays how changes in the data model are affecting the simulation.
For user interface details, see "Simulation Preview Pane" on page241.
Displays the Track Position column within rules, and opens the track pane on the right side of
the editor. For details, see "Stateful Layout View" on page267.
For details on simulating stateful behavior, see "How to Simulate a Stateful Service" on
page266.
See also
Relevant tasks
Rule actions
The following items are available when you right-click a rule.
UI Element
Description
Delete Rule
Deactivates the selected rule. The rule is not applied during simulation.
Disconnect
External
Data
Disconnects the rule from the external data file with which it is synchronizing. This discontinues any
import/export actions.
Export Data
Opens the Export Data dialog box, enabling you to export data to an external data file. For details, see
Page 238
User Guide
Chapter 8: Data Modeling
UI Element
Description
"Import/Export Data Dialog Box" on page250.
External
Data
Properties
Opens the External Data Properties dialog box, enabling you to modify your configuration for working with an
Import Data
Opens the Import Data dialog box, enabling you to import data from an external data file. For details, see
external data source. For details, see "External Data Properties Dialog Box" on page252.
Open
External
Data
Inside the data table, displays the data from the external file with which your rule is synchronized.
Refresh
Data
Depending on whether your rule is configured for import or export to an external data file, re-imports or reexports the data.
Description
Activity
Properties
Opens the Activity Properties dialog box, enabling you to modify properties for a service call activity. For
Activity Service
Description
Editor
Opens the Activity Service Description Editor, enabling you to edit protocol metadata (add/enable/disable
protocol headers). For user interface details, see "Edit Metadata Dialog Box" on page160.
Change Columns
Opens the Change Columns dialog box, enabling you to specify which columns are displayed in the data
table of a rule. For details, see "Change Columns Dialog Box" on page254.
Import/Export
Data
Opens the Import/Export Data dialog box, enabling you to import/export data from/to an external data
file. For details, see "Import/Export Data Dialog Box" on page250.
Mask
Opens the Data Masking dialog box, enabling you to hide specific request and response data elements.
Change Masking
Remove Activity
Reset Column
Width
Sort
Page 239
User Guide
Chapter 8: Data Modeling
Row actions
The following items are available when you right-click a row within a rule.
UI Element
Description
Add Row
Add to Track
Opens the Stateful Layout view of the Data Model Editor, enabling you to order request/response pairs to
define the sequence in which they are used during a stateful simulation. For details, see "Stateful Layout
View" on page267.
Binary Data
edit the file using the internal Service Virtualization editor or an external editor
Copy/Paste
Cell
Copy the cell contents to the clipboard. Paste into another cell or outside of the application.
Copy URL
Opens the Export Rows dialog box, enabling you to export messages from one or more rows in a rule to text
files. For details, see "Export Rows Dialog Box" on page247.
Import
Message
Opens the Import Request/Response Message dialog box, enabling you to import messages from a file, by
copying from the clipboard, or by manually entering text. For details, see "Import Request/Response
Properties
Displays additional options for configuring a scripted rule. For more details, see "How to Create a Scripted
Rule" on page332.
Available for: Scripted rules.
Row Detail
Opens the Row Detail dialog box, enabling you to view, enter, and edit data in the row. For details, see "Row
Set Not
The option available varies depending on the data type of the cell in which you are working.
Page 240
User Guide
Chapter 8: Data Modeling
UI Element
Description
Present
When you add a new row, the cell values are initially defined as"Not Present".
To access From the main menu, select Tools > Options, and click the Data Model Editor tab.
See also
Description
Highlighting Change the colors or restore the default color coding used to highlight column headers by function type in the
Data Model Editor. For details on enabling highlighting functionality, see "Data Model Editor" on page234.
To access
In the Data Model Editor, select View Options > Simulation Preview .
Important
information
The columns displayed are based on the columns currently displayed in the Data Model Editor table
above.
Relevant tasks
Page 241
User Guide
Chapter 8: Data Modeling
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
Pinned. Simulation Preview will continue to display on the selected row while comparing it to the row selected
in the Data Model Editor table. Select a different row in the Data Model Editor table in order to compare the two
rows.
Unpinned. Simulation Preview displays the row currently selected in the Data Model Editor table. You can edit
the request data in the Simulation Preview, and view the impact on the response data.
<Request
columns>
<Response
columns>
Displays the simulated response that is returned, based on the request data in the row.
Highlights the columns in the selected Data Model Editor row that are different from the row that is pinned in
Show
Differences the Simulation Preview. The columns that are displayed in the Data Model Editor table may change as required to
show the differences.
Click Hide Differences to clear the highlighting from the rows.
Restore
Columns
Returns the displayed columns in the Data Model Editor table to the settings that were defined before you
selected Show Differences.
To access
Page 242
User Guide
Chapter 8: Data Modeling
Important
information
In the Data Model Editor, right-click a row within a rule of an operation and select Row Detail .
Changes you make to functions in this dialog box, such as Is or Ignore, apply to all rows in the
rule.
Changes you make to data are immediately updated in the Data Model Editor when you move to a
different field.
To enter multi-line values, click Alt+Enter at the end of the line of text to add a new line.
Relevant tasks
See also
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
The two panes in the dialog box display the same information, providing you with a convenient
interface for configuring message requests and responses.
Example: You are working with service call activity and want to copy data from the service call
activity response to the virtual service response:
1. In the left pane, select the service call activity response. (In this example, the Response getClaim tab.)
2. In the right pane, click the tab for the virtual service response.
3. In the virtual service response tab, select the Copy from function.
4. In the service call activity response tab, select the data to copy.
Call <x> of <y>
Indicates the row number (x) that is selected within the rule, which contains (y) rows.
Add Call
Adds a new row to the rule, enabling you to enter data manually.
Delete Call
Search
Enter the text you want to find. The first matching text is highlighted.
Click the Previous and Next arrows in the Search box to move to other matching text.
Tip: You can also use Alt+Right and Alt+Left arrows to navigate through the search
Page 243
User Guide
Chapter 8: Data Modeling
UI Element
Description
results.
Limits the search according to the criteria you select. Options include:
<search filter>
Request/Response/Servic
e call activity
Requests/Service call
activity Responses
The tables display the data for the selected row. You can view, search, and modify the data.
Moves an array in your data model.to a different location that you specify.
Right-click an array item to access this option, and enter an array index.
To access
Page 244
User Guide
Chapter 8: Data Modeling
Tip: If the function row is not displayed, from the View Options menu, select Functions.
3. Select a column to be used as the source of the data from which to extract the substring. The columns
available for selection are highlighted.
Relevant
tasks
See also
The substring is taken from the data in the source column you specify.
By default, the column you already selected is displayed. Click Change to select a different column.
Format
Defines which part of the string you want to copy from the source column, and any additional text you want to add
to the string. For details on how to define the format, see "How to Configure the Substring Function" on
page224.
Preview
Simulates an example of the substring result based on the settings you defined in the Source and Format fields.
Change
Enables you to select a source column for the substring of data to be copied.
More
Opens the Service Virtualization help to assist you in defining the substring format.
Page 245
User Guide
Chapter 8: Data Modeling
To access
To import messages at the service level, select the service in the Operations/URISpaces pane. Right-click
the rule and select Import Message. (Available for SOAP and XML services only.)
Importing multiple messages at the service level: The messages are placed in the proper
operations.
If a message contains a new schema/message structure that does not currently exist in any operations in
the service:
Relevant
tasks
See also
Description
Expand/Collapse. Click to show/hide message content.
Click to select a file from the file system. Each file may contain only the request or response part of a
Page 246
User Guide
Chapter 8: Data Modeling
UI Element
Description
single message.
To import multiple messages, select multiple files to import. Service Virtualization matches pairs of
request and response messages by file name, according to one of the following methods:
l
Files are matched according to any numerical index present within the file name.
l
The index can be located at the beginning or end of the file name, or as a separate part of the file
name, . For example: 5_req.xml, req5.xml, req.5.xml
The index must be in the same location in all files.
Example: 9984_req1.xml and 9984_req2.xml. The files are compared according to index
numbers are 1 and 2 (not 9984).
Tip: Place request and response files in separate folders to ease the import process.
From Clipboard
To access
2. Right-click a row, or select multiple rows and right-click, and select Export
Rows.
See also
Export request and/or response data. Each request or response part of a message is saved in a
separate text file. The request headers and response headers are also exported each as a separate
file.
Define a meaningful prefix and suffix for exported filenames, or accept the default values.
By default, files are named as follows:
<file prefix>-<row number>-<request or response>.<file suffix>
where the file prefix is composed from export-<date>-<time(24-hour clock)>.
For example, export-20150602-192739-1-request.txt.
Tip: Use the Select Requests/Select Responses links at the bottom to quickly select only request or
response data.
Note: Only populated fields are exported.
Page 247
User Guide
Chapter 8: Data Modeling
Sample export:
To access
Important
information
Opens automatically when you select to import multiple messages in the Import Request/Response Message
dialog box.
l
Service Virtualization pairs request and response files according to file names. For additional details, see
Page 248
User Guide
Chapter 8: Data Modeling
A file that does not match another file is also imported. For example, if there is a request file, but no
corresponding response file, the request file is still imported.
Relevant
tasks
See also
Description
Request/Response
File
To make changes to the request/response file pairing, select a request or response file and move it up
or down in the list.
Places the imported messages into a separate track in the data model.
Create a Track
To access
1. In the Data Model Editor, select New Rule >Data Driven Rule.
2. Select one of the following:
l
Important
Creating a new data file: The Service Virtualization Designer creates a new Excel file, structured according to
information the schema (message structure) associated with the virtual service. Rule columns are automatically bound to
the worksheet columns.
Using an existing data file: After you create the rule you must then manually bind rule columns to
worksheet columns. After binding, the external data is imported to the Data Model.
Page 249
User Guide
Chapter 8: Data Modeling
Relevant
tasks
See also
Description
New/Existing
External Data File
To use an existing data file: Select a file from the drop-down list, or click the browse button to
navigate to the file location.
To create a new data file: Type a name for the file and specify its path, or click the browse button
to navigate to the file location.
Column Names
If you are adding an existing file, this option indicates that the first row of your file is a header row,
containing the names of each column.
Data synchronization The rule is configured to import data automatically from the external data file before each simulation.
Service Operations
The operations in your virtual service for which you want to import data.
By default, all of the virtual service's operations are selected for import. To change this selection, click
The Export Data dialog box enables you to export data from your data model to an external data file.
Page 250
User Guide
Chapter 8: Data Modeling
To access
Description
External Data
File
Specify the path to the external data file containing data to import, or click the browse button to navigate to
the file location.
Column Names
Indicates that the first row of your file is a header row, containing the names of each column.
Data is automatically re-imported from the external data file before each Simulation session.
Data
synchronization
Note: After import, do not modify data directly in the Data Model Editor. The next time that the data is
re-imported from the external file your changes will be lost.
Service
Operations
The operations in your virtual service for which you want to import data.
By default, all of the virtual service's operations are selected for import. To change this selection, click
Description
External Data
File
Specify the path for the new external data file, or click the browse button to navigate to the file location.
Data is automatically exported to the external data file after a virtual service Learning session.
Data
synchronization
Page 251
User Guide
Chapter 8: Data Modeling
UI Element
Description
Note: After export, do not modify the external data file. Each time the data is exported, the external
file is deleted and recreated. Therefore any changes you make in the external file will be lost on the
next automatic export.
Service
Operations
The operations in your virtual service for which you want to export data.
By default, all of the virtual service's operations are selected for export. To change this selection, click
To access
Description
Importing data
from external
data file
The rule is associated with an external file from which it has imported data.
Page 252
User Guide
Chapter 8: Data Modeling
UI Element
Description
Exporting data
to external data
file
The rule is associated with an external file to which it has exported data.
External Data
File
Column Names
Indicates that the first row of your file is a header row, containing the names of each column.
Available for import only.
Data
Synchronization
For import: Data is automatically re-imported from the external data file before each Simulation session.
Service
Operations
The operations in your virtual service that are configured for import or export.
Sheet Relations
Binding configuration for working with array data. You can define the relationships between worksheets
that is required for array binding.
For export: Data is automatically exported to the external data file after a virtual service Learning session.
By default, all of the virtual service's operations are selected. To change this selection, click Change and
edit the list of operations.
Primary/Foreign Key: The drop-down lists display the columns in the external data file. The
format of the keys is <worksheet_name>.<column_name>. Select a value for each key to define
the relationship.
Add
Adds a row, enabling you to define an additional relationship between primary and foreign keys.
Available when working with array data.
Delete
Refresh Data on
Confirm
Updates the data according to your new settings. For example, if you changed the setting from Import to
Export, the data is exported to the external file when you click Finish.
Page 253
User Guide
Chapter 8: Data Modeling
To access
In the Data Model Editor, click inside the function field (fx) for a column and select New f(x).
In the Virtualization Explorer, under Data Models, right-click the Functions folder, and select New f(x).
Edit Function dialog box: In the Virtualization Explorer, under Data Models, expand the Functions folder.
Double-click a function to edit.
Relevant
tasks
See also
Description
Function Enter a function. For details on the variables you can use to configure a new, custom function, see "How to Define
Custom Functions" on page225.
Name
More...
Page 254
User Guide
Chapter 8: Data Modeling
To access
Columns.
l
Description
Filtering columns in
the tree
Enter text in the search field to filter the columns displayed in this dialog box.
Default Filter
Options
Displays default filters you can apply to assist you in viewing the list of columns.
Column tree
Select the columns that you want to display in the data table.
l
When you click on a column name, it is highlighted for you in the currently open model.
Select an option from the drop-down list to change the current view in the open model.
Page 255
User Guide
Chapter 8: Data Modeling
UI Element
Description
Note: Selecting a header level checkbox does not select all child headers.
In this example, the Request box is selected, indicating that you have selected the Request
header to display in the Data Model Editor.
The shaded box for the Request header indicates that one or more child headers are selected.
OK/Cancel
To access
Page 256
User Guide
Chapter 8: Data Modeling
Relevant
tasks
When there is a 1 to 1 relationship, there will be exactly one item in the array for each row. Items of the array can
Important
information be located on the same worksheet as other data, and the relationship will be specified as the same worksheet
column for the Primary and Foreign Key. This works only for a one level array. It cannot be used if the array is
part of another array.
See also
Description
Primary/Foreign The drop-down lists display the columns in the external data file. The format of the keys is
<worksheet_name>.<column_name> .
Key
Select a value for each key to define the relationship.
Add
Adds a row, enabling you to define an additional relationship between primary and foreign keys.
Delete
To access
The dialog box opens automatically when you start to bind to an Excel worksheet column where the response
can contain different data formats, different response types, or a message structure which can be considered
to contain different types.
Page 257
User Guide
Chapter 8: Data Modeling
Relevant
tasks
Map choices to cell values based on predefined cell values read from an external data source or by setting
Important
information custom values.
See also
Description
The mapping table lists the real formats or types based on the data in your
external data file.
Cell Value
To configure a value for each possible real type or format, select a value from
the drop-down list.
1. In the Data Model Editor, select the operation from which you want to call the external
To access
service.
2. Click Activity >Import Activities, enter the path to the WSDL schema, and click
Next.
Important information Service call activity is supported for:
Relevant tasks
Page 258
User Guide
Chapter 8: Data Modeling
See also
Description
Service operation
Page 259
User Guide
Chapter 8: Data Modeling
1. In the Data Model Editor, select the operation from which you want to call the external
To access
service.
2. Click Activity >Import Activities. Enter the path to the XML schema (.xsd file), and click
Next.
Relevant tasks
See also
Description
Input/Output Message Type Select message elements for input and output messages. Available types are displayed.
Real Service Endpoint
Test Endpoint
To access
2. Right-click the column header of a service call activity, and select Activity Properties.
Important
information
For details on additional fields for JMS and MQ protocols, see "Service Properties Page"
on page125.
Relevant tasks
See also
Page 260
User Guide
Chapter 8: Data Modeling
Description
State
Indicates if the service call activity is currently enabled or disabled for the rule.
Click the on/off icon
Name
Tip: You can edit this field. If you add multiple activities calling the same operation in the same
service, give each activity a different name.
URL
Agent
Select an existing agent to use for the service call, or click Manage Agents to configure a new agent.
Timeout
Delay after
response
Indicates the amount of time, in milliseconds, to wait after sending a response to the client, before running
the activity.
Available only for a service call activity that is scheduled for after the response.
Message
Format
Some column headers are in italic text (header). What does that mean?
These are complex headers that include lower level headers under them. Double-click the header to
display its lower level headers, or change your selections in the Change Columns dialog box.
Page 261
User Guide
Chapter 8: Data Modeling
It's hard to work with all the columns in my message data. Is there a better way?
If your structure includes many columns, the Row Detail dialog box offers a more user friendly format
for viewing, entering, and editing data manually. Right-click a row and select Row Detail.
I want to move some array data in my data model. Is there an easy way to do that?
Yes. In the Row Detail dialog box, right-click an array item and select Move Array Item.
I exported data to an Excel file, but I can't find the file. Where is it?
Hover over the import/export icon in the data rule to see the location of your external data file.
You can also right-click the rule and select External Data Properties for more information on the
external file.
I see more columns than I need to. How can I hide some of them?
To show/hide columns, use the Change Columns dialog box. To access, click the Columns button, and
Page 262
User Guide
Chapter 8: Data Modeling
I see metadata, but no actual data. Why don't I see the data?
The columns (headers) that contain the data are hidden. Click the Columns button, and select select
Change Columns to change the display settings.
Some column headers are marked with a red hash sign (#). What does that mean?
These columns are configured for data masking. For details, see "Data Masking Dialog Box" on
page157.
Page 263
StatefulSimulation Overview
265
266
267
Page 264
User Guide
Chapter 9: Stateful Simulation
StatefulSimulation Overview
When simulating a service, the order of requests is often important. A service may return different
responses to the same request depending on the current state of the service. Service Virtualization can
simulate this type of stateful behavior.
A virtual service uses tracks to simulate stateful behavior. Tracks enable you to order request/response
pairs in a virtual services data model, to define the sequence in which they are used during simulation.
Service Virtualization creates tracks during learning. You can also manually create and edit tracks.
During simulation, Service Virtualization evaluates each request to determine which track it fits into,
and in which position in the track, and returns the appropriate response.
Page 265
User Guide
Chapter 9: Stateful Simulation
of all track positions in all tracks simultaneously to determine where in the simulated scenario this
request most likely fits.
For task details, see "How to Simulate a Stateful Service" below.
Shopping cart session sample projects. For details, see "Start Page" on page26.
Placing the virtual service in Learning mode to record real service behavior. For example, for a
RESTservice.
Importing a service description document, such as when creating a SOAP service using an
imported .wsdl service description document.
Importing messages into the virtual service's data model.
Page 266
User Guide
Chapter 9: Stateful Simulation
example, a client may send a login request, and the server returns a session ID that will
identify the client session.
For user interface details, see "SessionID Definition Wizard" on page152.
3. Learn data again:
Service Virtualization uses the session IDs to create different tracks based on the learned data,
and uses the tracks to create different sessions during simulation.
Edit tracks
View and modify tracks using the Stateful Layout view of the Data Model Editor. For user interface
details, see "Stateful Layout View" below.
On the Data Model Editor toolbar, click Stateful Layout to display the track pane.
l
Filter tracks. Select an option under Current Rule Tracks to display all tracks or tracks for current
rule only.
Edit a track.
l
Delete a track. Delete the track only, or also delete the rows that include track positions of the
selected track.
Page 267
User Guide
Chapter 9: Stateful Simulation
To access
Important
information
Service Virtualization creates tracks automatically based on learned data and Session ID definition. For
details, see "How to Edit a ServiceDescription" on page109.
Relevant
tasks
See also
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI Element
Description
Track
Position
column
Located in the main pane of the Data Model Editor, indicates the track and track position of the selected row. If
the row is a part of multiple tracks, each instance is highlighted in the tracks pane.
<track
pane>
Located in the right pane, displays the sequence of calls in the track. The order reflects how the calls are used in
a stateful simulation.
Right-click in the Track Position column for a given row and click Add to Track to add the call to the sequence
of calls in the track. You can add the row again to the same track, or to a different track.
<track
name>
<track
filter>
All Tracks
You can display all tracks or tracks for the currently selected rule only.
Tip: Select multiple tracks and expand the track pane to view several tracks side by side.
Page 268
User Guide
Chapter 9: Stateful Simulation
UI Element
Description
New Track
Delete
Deletes the currently displayed track. You can choose to delete the track only, or also delete the rows that
include track positions of the selected track.
Page 269
271
272
274
Page 270
User Guide
Chapter 10: Performance Modeling
Performance Metrics
You can manipulate virtual service performance using the following performance metrics:
Response Time [ms] - the time for the service to process a request and return a relevant response.
Threshold [hits/s] - the maximum number of requests and responses the service can process without
any impact on performance.
Throughput Limit [MB/s] - the maximum data capacity the service can process.
Transaction Limit [transactions/s] - the maximum number of responses per second that the virtual
service can send.
Tolerance [%] - the acceptable range of variation in performance for the operation.
Maximum Hits per Second - the maximum number of requests and responses the operation is
allowed to process.
Maximum Response Time - the maximum time for a response at peak performance levels.
Page 271
User Guide
Chapter 10: Performance Modeling
Boosters
There are a number of boosters available which you can use to manipulate some aspect of the service
performance. Service Virtualization applies the selected boost to the relevant performance criteria
during simulation.
The boosters include:
l
CPU. CPU power multiplication factor. Impacts the response time of the service.
Cluster. Scalability multiplication factor. Impacts all measures simultaneously - response time, hit
rate, threshold, and throughput limit.
Expert. Multiplication factors for response time, hit rate, and throughput limit values. You can
change each measure separately.
When do you want to send the responses? At specific times? With a delay after requests are
received?
Do you want to continue sending responses periodically at set intervals, or at specific times?
You can configure a message schedule to publish responses according to your answers.
For task details, see "How to Modify Virtual Service Performance" below.
For user interface details, see "Performance Model Editor" on page275.
Page 272
User Guide
Chapter 10: Performance Modeling
Page 273
User Guide
Chapter 10: Performance Modeling
275
Page 274
User Guide
Chapter 10: Performance Modeling
To access
Important
information
In the Virtual Service Editor, under Performance Models, select a performance model and click Edit .
Throughput Limit and Transaction Limit performance metrics are not affected by learned data.
Learning does not modify these values.
Relevant tasks
See also
User interface elements are described below (unlabeled elements are shown in angle brackets):
Common Areas
UI Element
Description
<performance model
name and description>
<operations>
Located in the left pane of the editor. Displays a list of the operations in the service associated
with the selected performance model.
By default, the service name is selected, and a performance overview is displayed in the main pane
of the Performance Model Editor. For details, see Service Level View.
Enter text in the filter box to filter for specific operations in the list.
Select an operation from the list to display its details in the main pane of the Performance Model
Editor. For details, see Operation Level View.
Opens the Service Description Editor. For details, see "Service Description Editor" on
page150.
Description
Booster
A set of boosters to provide high-level control of the operations selected in the operation table.
Available boosters include:
l
Page 275
User Guide
Chapter 10: Performance Modeling
UI Element
Description
l
Expert. Multiplication factors for Response Time, Hit Rate, and Throughput Limit values.
<booster
controls>
The sliding controls and inputs enable you to set the boost level for the selected booster. The setting affects
the various performance criteria displayed in the operation table.
Performance Enables you to set more granular settings for individual performance criteria for individual operations. You
can set the following:
Metrics
l
Response Time [ms]. The time for the service to process a request and return a relevant response.
Threshold [hits/s]. The maximum number of requests and responses the service can process without
any impact on performance.
Throughput Limit [MB/s]. The maximum data capacity the service can process.
Transaction Limit [transactions/s]. The maximum number of responses that the virtual service can
send per second.
To apply the performance changes to the service and all of its operations, select the Boost , Throughput
Note: Throughput Limit and Transaction Limit are not affected by learned data. Learning does not
modify these values.
Batch
Simulation
Enables you to define a schedule for sending responses back to the client application.
Click an operation name to open the operation level view for the specific operation.
For details, see "Batch Simulation" on the next page.
Description
<performance
graph>
The graph displays the expected performance based on the criteria set for the operation.
Select Show Measured Data to view any recorded performance data in the graph. Note: This option is
displayed only after data is recorded for the service.
The graph is interactive. Move the graph elements to show the effects on performance.
<performance
criteria>
Displays the advanced performance criteria for the operation with the option to edit them. The following
additional criteria are available:
Page 276
User Guide
Chapter 10: Performance Modeling
UI Element
Description
l
Tolerance [%]. The acceptable range of variation in performance for the operation.
Maximum Hits per Second. The maximum number of requests and responses the operation is
allowed to process.
Maximum Response Time. The maximum time for a response at peak performance levels.
Batch Simulation
UI
Element
Description
Actual
State
Sequential (Single Threaded). Sends responses in a single thread, according to the order in which they are
simulated.
Parallel (Multi Threaded). Sends responses concurrently, according to the number of system CPUs.
Responses are sent in a random order,
Scheduling Defines when the virtual service will start publishing message responses.
Start
l
After simulation launch with delay <x>. Set the amount of time after the start of simulation that you
want the virtual service to begin sending response messages.
l
At <time x> of the simulation start day. Define a set time on the day that simulation is started to begin
sending response messages.
Periodically.
Send messages every <x> amount of time.
If you do not specify a number in the Number of Messages field, all waiting responses are sent.
Double-click the time or message boxes to edit. Define time periods and the number of messages to send at
each time period.
Page 277
User Guide
Chapter 10: Performance Modeling
UI
Element
Description
Each row represents the amount of time to wait, after the previous time period, before additional
messages are sent.
For the last time period in the schedule, the Number of Messages field may not be filled in. All remaining
messages are sent.
Example:
The schedule is set to start 4 hours after simulation starts.
l
1st row: When the schedule starts, 1000 messages are sent.
2nd row: One hour later, 2000 messages are sent. It is now 5 hours after the simulation started.
3rd row: Two hours later, 3000 messages are sent. It is now 7 hours after the simulation started.
4th row: Three hours later, all remaining messages are sent. It is now 10 hours after the simulation
started.
Page 278
Topology Overview
280
280
283
Page 279
User Guide
Chapter 11: Composite Application Topology
Topology Overview
The Topology Editor enables you to model composite applications by creating a visual map of services,
called a topology. You can group them into larger composites, mark their types, and display the service
calls between them.
For task details, see "How to Model Composite Applications" below.
Page 280
User Guide
Chapter 11: Composite Application Topology
Create a topology
From the main menu, select File > New > Topology. For user interface details, see "Summary of
New Topology Dialog Box" on page284.
The new topology opens in the Topology Editor. By default, Service Virtualization creates the new
topology with one service which calls another, limited access service.
3.
4.
5.
Virtualize services
Page 281
User Guide
Chapter 11: Composite Application Topology
In the Topology Editor, right-click a service and select Create Virtual Service. You can select an
existing virtual service from a drop-down list, or choose to create a new virtual service.For user
interface details on creating a new virtual service, see "Create New Virtual Service Wizard" on
page122.
If a service is marked as secure and does not already have any associated authentication Service
Virtualization cannot access the service and prompts you to provide authentication. For details on
setting authentication credentials, see "How to Set Security" on page292.
6.
Reconfigure clients
When you virtualize services, the services that call them may require reconfiguration to use the
new virtual service in place of the real service.
a. A service that requires reconfiguration is displayed in the Topology Editor with an exclamation
point icon. Click the icon to open the Reconfigure Service dialog box, and update endpoint
details for real and virtual services as required.
b. When you have reconfigured the calling component, click Mark Completed and close the dialog
box. The exclamation point icon is no longer displayed.
7.
8.
Page 282
User Guide
Chapter 11: Composite Application Topology
Virtualization processes the requests to each virtualized service and returns responses based
on the simulation model for each.
As you run your test, the Runtime View, located in the lower pane of the window, displays
details for each virtual service.
284
Topology Editor
284
288
Page 283
User Guide
Chapter 11: Composite Application Topology
To access
Important
information
By default, Service Virtualization creates the new topology with one service which calls another,
limited access service.
Relevant tasks
See also
Description
Topology
Displays the default name for the topology you are creating.
Change
Opens the Change Topology dialog box, enabling you to edit the name of the topology.
Create
Topology Editor
The Topology Editor enables you to model composite applications.
Page 284
User Guide
Chapter 11: Composite Application Topology
To access
In the Virtualization Explorer, double-click the topology you want to view or edit.
Tools Pane
Located on the left side of the editor, enables you to drag and drop the following items to add to your
topology:
Note: If the Tools pane is not displayed by default, from the main menu, select View > Tools.
UI Element
Description
Service
Limited
Service
A service marked as having limited access. Access to such services may be limited due to time or financial
constraints.
Secured
Service
Group
A box enabling you to organize services into larger composites for purposes of visual mapping.
Context menu
Note: To discover services, right-click inside the Topology Editor and select Start Service
Discovery. For details on service discovery, see "Service Discovery Dialog Box" on page288.
Right-click a service in the Topology Editor to access the following commands:
Page 285
User Guide
Chapter 11: Composite Application Topology
Menu Item
Description
Set/Unset
Limited
Access
Set/Unset
Secured
Access
Marks or unmarks the selected service as requiring authentication. For details on setting authentication
credentials, see "How to Set Security" on page292.
Test
Preview
Test
Impact
Enables/disables the Test Impact highlighting bar.Service Virtualization analyzes client calls and highlights
services that you may want to virtualize.
Learn and
Simulate
Enables you to create a new virtual service or import an existing service, and then places the service in Learning
mode.
Create
Virtual
Service
Enables you to create a new virtual service or import an existing service. If you choose to create a new virtual
service, launches the Create Virtual Service wizard. For details, see "Create New Virtual Service Wizard" on
Rename
Delete
page122.
Service Annotation
The annotation for each service varies depending on its settings and various stages of configuration.
Service Diagram
Description
An empty service.
A virtualized service.
A virtualized service in Learning Mode. Service Virtualization records any requests and responses
through this service and adds them to the associated Simulation Model.
Page 286
User Guide
Chapter 11: Composite Application Topology
Service Diagram
Description
A virtualized service in Simulating Mode. Service Virtualization monitors any requests to this
service and returns responses based on the associated Simulation Model.
Indicates a service that is "under test".
A service requiring attention because it calls a virtualized service and may require reconfiguration
to call the virtual service instead of the real one.
Click the exclamation point icon to open the Reconfigure Service dialog box.
Task List
When you select to test a service that calls other limited access services, the Task List opens on the
right side of the Topology Editor. The Task List guides you through the process of testing your
composite application.
Note: The options in a step become available only after you have completed all previous
(prerequisite) steps. When you pass or skip a step, the options in that step are automatically
disabled.
UI Element
Description
Virtualize
Services
Virtualize Services. Enables you to define a new virtual service or import an existing service. If you choose
to create a new virtual service, launches the Create Virtual Service wizard. For details, see "Create New
Virtual Service Wizard" on page122.
This option enables you to virtualize all relevant services as indicated in the Task List.
Customize Virtualization of Services. Enables you to select the services that you want to virtualize.
Select the desired services and click Virtualize Selected Service.
When all the missing information for each service in complete, Virtualize Services is marked as complete and you
proceed to Reconfigure Clients.
Service Virtualization adds the virtual services, any new service descriptions, and a data and performance model
for each service to the Virtualization Explorer.
Reconfigure Reconfigure the client to use the endpoints of virtual services in place of the real service endpoints. This is
required in cases where Service Virtualization can only perform intrusive virtualization.
Clients
Includes the following:
l
Mark as Completed. Marks the service under test as complete when you have reconfigured it to use the
Page 287
User Guide
Chapter 11: Composite Application Topology
UI Element
Description
virtual services in place of real services.
Learn
Services
Learn Services. Places the virtual services in your composite application in Learning mode. For details on
Learning mode, see "Virtual Service Overview" on page98.
Run your test through the composite application using a client or test script. Service Virtualization records
the request and responses for each virtualized service and creates a simulation model for each. As you run
your test, the Runtime View, located in the lower pane of the window, displays details for each virtual
service.
Skip to Simulate Services. Proceed to service simulation without recording any additional service
communication. Select this option if you already have simulation models for your composite application.
Simulate
Services
Places the virtual services in your composite application in Simulation mode, enabling you to simulate the
behavior of the real services without using them.
Run your test through the composite application using a client or test script. Service Virtualization processes
the requests from your service under test to each virtualized service and returns responses based on the
simulation model for each. As you run your test, the Runtime View, located in the lower pane of the window,
displays details for each virtual service.
To access
Important
information
On the Start Page, click Discover Services to create a new virtualization project and start the
discovery process.
In an existing project, in the Topology Editor, right-click and select Start Service Discovery.
Page 288
User Guide
Chapter 11: Composite Application Topology
Relevant tasks
See also
Description
Server
Service Virtualization
proxies
You must configure your client application to use the Service Virtualization proxies before
running Service Discovery.
Page 289
291
292
303
Page 290
User Guide
Chapter 12: Security
Confidentiality. The data is encrypted. Only an ultimate recipient can read the data.
Service Virtualization must be able to decrypt the message passed to the virtual service in order to
learn the service. It must also be able to encrypt messages passed to the real service.
Integrity. The data is signed. A recipient can validate that the data has not been modified during
transmissions.
Service Virtualization must be able to validate signatures in messages received from clients and
from the real service. It must also be able to sign messages sent to clients and the real service.
Authorization. The service validates that an authenticated client can execute the required operation.
Service Virtualization does not handle authorization. Authorization logic is left for the real service.
Transport Security. Transport level security is point-to-point. Security is ensured only on the
transport level connection between two machines. Transport level integrity and confidentiality is
ensured through SSL / TLS (HTTP(s) Proxy agent or the HTTPS Gateway agent) and transport level
authentication is ensured with HTTP authentication mechanisms.
Transport authentication in service virtualization is used only in Stand-By and Learning modes to
access the real service. It is transparently managed by the HTTP Gateway or HTTP(S) proxy agents.
Transport authentication only requires that correctly configured credentials are available in Service
Virtualization's Credential Store.
Message Security. Message level security is end-to-end. Security is ensured on the message level
security is part of message data which can be passed through many intermediaries (many
connections) without revealing unsecured message content.
Message security in Service Virtualization is used for Stand-By, Learning, and Simulation modes.
Mixed Security. Mixed security uses transport security to ensure confidentiality and integrity and
message security to pass client credentials (authentication). This security configuration requires the
use of the HTTPS agent and message security modes with names ending with OverTransport.
Page 291
User Guide
Chapter 12: Security
This task is part of a higher-level task. For details, see "How to Use Service Virtualization" on
page20.
To learn more about Service Virtualization security, see "Virtual Service Security Overview" on
the previous page.
Page 292
User Guide
Chapter 12: Security
To learn more about Service Virtualization security, see "Virtual Service Security Overview" on
page291.
In the Virtual Service Editor, under Security Settings, configure one of the following security modes for
your virtual service:
l
Layout: Strict
Page 293
User Guide
Chapter 12: Security
Protection Level. Tthis setting has no effect because encryption and signing are provided by
the transport level (HTTPS).
Message Protection Order. This setting has no effect because encryption and signing are
provided by the transport level (HTTPS).
Message Security Version. Oonly WS-Security 1.1 is supported because this configuration
mode requires thumbprint token inclusion mode which is not supported in WS-Security 1.0.
Require Derived Keys. This setting should not be changed.
Include Timestamp. This setting must be checked because the endorsing supporting token
passed in the request must sign the timestamp header.
Allow Serialized Signing Token on Reply. This setting has no effect.
Page 294
User Guide
Chapter 12: Security
1. Prerequisites:
a. You must have created a virtual service.
b. The Service Virtualization Credential Store must contain an identity with each used client
certificate.
c. Certificates must contain a private key.
2. In the Virtual Service Editor, expand Security Settings. Under Message Security, select Enabled.
3. In the Mode drop-down box, select DigestPasswordAndUserNameOverTransport.
Note: Do not configure Real Service Identity, Virtual Service Identity, or Security Applied To.
Layout: Strict
MustSupportRefKeyIdentifier
MustSupportRefIssueSerial
Page 295
User Guide
Chapter 12: Security
5. Click Advanced Settings to open the Advanced Message Security Settings dialog box, and configure
as follows:
Protection Level. Configures the level of security applied to each message.
Message Protection Order. Configures the order of protection operations used to secure
messages.
Layout: Strict
WS-Security 1.0
l
MustSupportRefKeyIdentifier
MustSupportRefIssueSerial
WS-Security 1.1
l
MustSupportRefThumbprint / RequireThumbprintReference
Page 296
User Guide
Chapter 12: Security
2. In the Virtual Service Editor, expand Security Settings. Under Message Security, select Enabled.
3. In the Mode drop-down box, select MutualCertificateDuplex.
4. In the Real Service Identity drop-down box, select an identity configured in the Credential Store.
If the identity for the real service does not contain a certificate with a private key, or if you want to
use separate identity for the virtual service, select an identity configured in the Credential Store
for Virtual Service Identity. This identity must contain a certificate with a private key.
5. Click Advanced Settings to open the Advanced Message Security Settings dialog box, and configure
as follows:
l
Message security versions using WS-Security 1.0 requires either issuer serial number or key
identifier of the certificate.
Message security versions using WS-Security 1.1 requires thumbprint of the certificate.
Page 297
User Guide
Chapter 12: Security
IwIAYDVQQKExlIUCBTZXJ2aWNlIFZpcnR1YWxpemF0aW9uMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQ
KBgQDGitfesyg2v/9bpz89af2xjWXhwu+0fqboeBgILvSVMoyVkL3zxQkXKWW3HGN+NSzi2NV9PBpkZJ
TRSFkYmYPLt5yd6FbOEp5mM+Q7JGfGe7U2aVVzuoiORQ7rvaQiEEBsqfgaOUNDjYfiKy7eQgb8/UGD/4
tLWLRdvJZIh9RQHwIDAQABo4GbMIGYMB0GA1UdDgQWBBTrOGXW3NX1lEibCNopOmEfwo/1xDBpBgNVHS
MEYjBggBTrOGXW3NX1lEibCNopOmEfwo/1xKE9pDswOTETMBEGA1UEAxMKSkFOSUdBTS1QQzEiMCAGA1
UEChMZSFAgU2VydmljZSBWaXJ0dWFsaXphdGlvboIJAOoMrIWulmVZMAwGA1UdEwQFMAMBAf8wDQYJKo
ZIhvcNAQEFBQADgYEAmuEewb/MCciOx0q1GL8lgbchuqv8xN8IeE9Ai1kwNyTBEaby/xvo5unX14F3Iz
401RWElire81BUPuuL3DPWKGdTz7tWsiHszbEhvd6YgR7iSGopAg8sNwkNaO1NK3AmKkHTAEpBKi8jfI
ZKLM+58KygKf4z7+OwayBulMNumoA=</wsse:BinarySecurityToken>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-excc14n#" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsasha1" />
<Reference URI="#id-a61b4ea775ef4b8bbffbdd458ca2c1bb">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>bvK65EZyWOewt2pRxfirr5o91qQ=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>cMoZgHv7Q0XOQg8gRXDy42ICiWTBd2/0HKXZaTnZQdSffRUKIXC93056/DbIf7xS
Z+F8Slpx+/W0ppwAEBgn6ARt8AZ6THETKUc5ivMadRDJn1rBnm1J4EdtYre+jlVq5iKsBMCm+I2GwoFe
2U1zGueF1OMIyqsOPyyf3mxC03g=</SignatureValue>
<KeyInfo Id="KI-c7db089c82484feeb19876968f23ae3d">
<wsse:SecurityTokenReference wsu:Id="STR661b0565bb7b4c2aa4491cb74ab4bc40">
<wsse:Reference URI="#X509-1296b380e9334c8e9527534dbebdb7f7"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-tokenprofile-1.0#X509v3" />
</wsse:SecurityTokenReference>
</KeyInfo>
</Signature>
</wsse:Security>
1. Prerequisites:
a. You must have created a virtual service.
b. The Service Virtualization Credential Store must contain an identity with each used client
certificate.
c. Certificates must contain a private key.
2. In the Virtual Service Editor, expand Security Settings. Under Message Security, select Enabled.
3. In the Mode drop-down box, select SignOnlyWithMutualCertificate.
Page 298
User Guide
Chapter 12: Security
4. In the Virtual Service Identity drop-down box, select an identity configured in the Credential
Store. The certificate within the request message must match the certificate of the identity.
5. In the Security Applied To drop-down box, select which message parts to apply the security to request, response, or both.
Note: Do not configure Real Service Identity.
Layout: Strict
To configureSupportingCertificateOverTransport mode:
1. Prerequisites:
a. You must have created a virtual service.
b. The Service Virtualization Credential Store must contain an identity with each used client
certificate.
2. In the Virtual Service Editor, expand Security Settings. Under Message Security, select Enabled.
3. In the Mode drop-down box, select SupportingCertificateOverTransport.
Note:
l
Page 299
User Guide
Chapter 12: Security
Protection Level. This setting has no effect because encryption and signing are provided by the
transport level (HTTPS).
Message Protection Order. This setting has no effect because encryption and signing are
provided by the transport level (HTTPS).
Message Security Version. Layout used for security header:
o
Message security versions using WS-Security 1.0 use Lax layout for security header.
Message security versions using WS-Security 1.1 use Strict layout for security header.
This task is part of a higher-level task. For details, see "How to Set Security" on page292.
To learn more about Service Virtualization security, see "Virtual Service Security Overview" on
page291.
Transport level security is completely handled by the HTTP based agent. The virtual and real services
can use HTTP authentication to prevent unauthorized use. The service can use basic, digest, NTLM
authentication, or Mutual HTTPS.
Page 300
User Guide
Chapter 12: Security
"HTTP authentication over HTTP / HTTPS Gateway agent" on the next page
Page 301
User Guide
Chapter 12: Security
Page 302
User Guide
Chapter 12: Security
(domain users still need to be able to log on the machine the application is running on) with the
same names that the client is using to authenticate to the service.
Note: If you would like to use the HTTP Digest authentication, use only domain user accounts as
local user accounts will not authenticate.
304
305
Page 303
User Guide
Chapter 12: Security
To access
In the Virtual Service Editor, expand Security Settings and click Edit Credential Store.
When creating credentials for transport security over the HTTP(S) Gateway agent, the user of the virtual service
Important
information must be a valid Windows account. This Windows account can be one of the following:
l
A local account. If it does not already exist, you must create a local Windows account on the machine
hosting the Service Virtualization Designer or standalone server. You must use the same user name and
password.
Relevant
tasks
See also
User interface elements are described below (unlabeled elements are shown in angle brackets):
UI
Description
Element
<user
grid>
Displays the users and credentials defined in the credential store for this service.
Add
Identity
Opens the Add Identity dialog box, enabling you to define a new identity to add to the credential store.
Enter a username and password. Empty values are also permitted. These credentials can represent either a
Windows account (for transport security - Basic, Digest, or NTLM) or other type of user credentials used by the real
service (for message security).
Page 304
User Guide
Chapter 12: Security
UI
Description
Element
Click Show password to display the password.
Click the browse button to select a certificate to add. The following certificate types are supported: .pfs, .p12, .cer,
.der, .crt. Click OK. If the certificate's private key requires a password, you are prompted to enter the password. You
can also export an existing certificate.
Edit
Enables you to modify user credentials, or export a certificate. Select an identity and click Edit to open the Edit
Identity dialog box.
Delete
Enables you to remove user credentials. Select one or more identities in the grid and click Delete.
Import
To access
In the Virtual Service Editor, under Security Settings, configure basic message security options and then click
Advanced Settings.
Relevant
tasks
See also
Description
Protection Level
The level of security applied to each message. This configuration has service scope levels. All
messages must have the same security requirements.
Options include:
l
None.
Page 305
User Guide
Chapter 12: Security
UI Element
Message Protection
Order
Description
l
Sign.
Message Security
Version
Include Timestamp
Allow Serialized
Token on Reply
Replies can contain a service token used to sign the message. This setting is used only for
asymmetric security bindings.
Page 306
308
308
308
Performance Counters
309
Page 307
User Guide
Chapter 13: HPTest Automation Tools Integration
The simulation start is triggered by the test start. Make sure that the virtual services are already
deployed on the Service Virtualization Server.
Particular data and performance models can be selected for the test.
Simulating or Standby modes using the real service are chosen during the test.
The simulation start is triggered by the test start. Make sure that the virtual services are already
deployed on the Service Virtualization Server.
Specific data and performance models can be selected for the test.
Simulating or Standby modes using the real service are selected during the test.
Performance monitors exposed by virtual services are used immediately in the Performance Center or
Load Runner Controller. The performance monitors exposed by Service Virtualization are named
Services and Operations.
l
The Services performance counter provides measurement data per virtual service.
The Operations performance counter provides data per virtual service and service operation.
Page 308
User Guide
Chapter 13: HPTest Automation Tools Integration
Performance Counters
You can monitor Service Virtualization message processing using predefined performance counters.
The performance counters are created during installation of either the Service Virtualization Designer
or the Service Virtualization Server. You can then view the counters in Windows Performance Monitor.
You can also use the performance counters to monitor Service Virtualization that is running on a
remote machine. The uninstallation of both the Designer and Server delete the counters from the
Windows system.
This section includes:
l
Counter Description
Units
Throughput
MB/s
HitRate
hits/s
AverageResponseTime
The average time for the virtual service to process a request and return
a relevant response.
ms
DataSimulationAccuracy
The accuracy of data model emulation of the real service by the virtual
service.
PerformanceSimulationAccuracy The accuracy of performance model emulation of the real service by the
virtual service.
Page 309
User Guide
Chapter 13: HPTest Automation Tools Integration
Counter Description
Units
Throughput
MB/s
HitRate
The number of requests and responses processed by the virtual service operation.
hits/s
AverageResponseTime The average time for the virtual service to process a request and return a relevant response
ms
Counter Description
Connections
DbResponseTime
Communication latency between the Service Virtualization Server and the database.
HitRate
The number of requests and responses processed by all virtual services running on the Service
Virtualization Server.
MessageSize
The average message size for all services deployed on the Service Virtualization Server.
Throughput
The average data capacity for all services deployed on the Service Virtualization Server.
TransactionsPerSecond The average value for all services deployed on the Service Virtualization Server.
For server statistics: server statistics. The instance is created during installation of the Service
Virtualization Server. Data is updated on the Server machine only, when the Server is running.
For example, for a locally deployed virtual service called HelloWorld which has two operations named
Hello and Bye, the performance counters in the local system have the following instances:
Counter
Category
Counter Name
Helloworld Service
Page 310
User Guide
Chapter 13: HPTest Automation Tools Integration
Counter
Category
Counter Name
Services
AverageResponseTime
helloworld
HitRate
helloworld
Throughput
helloworld
DataSimulationAccuracy
helloworld
PerformanceSimulationAccuracy
helloworld
Hello
Operation
Operations
Bye
Operation
AverageResponseTime
helloworld_ helloworld_
hello
bye
HitRate
helloworld_ helloworld_
hello
bye
Throughput
helloworld_ helloworld_
hello
bye
Remote Monitoring
You can use the performance counters to monitor Service Virtualization that is running on a remote
machine.
To remotely access the performance counters, you must use a Windows user account with appropriate
privileges on the remote machine. You can create this account in the following ways:
l
Automatically. During installation of Service Virtualization, you have the option to create a user
account that is automatically configured with the proper privileges. For details, see the HP Service
Virtualization Installation Guide.
Manually. If you create the Windows user account manually, you must add this user to the default
Windows group Performance Monitor Users. In Windows XP, add the user to the Administrators
group.
Page 311
313
313
316
Page 312
User Guide
Chapter 14: HPApplication Lifecycle Management (ALM) Integration
Save a virtualization project in ALM. When you save a virtualization project, you can save it in the
file system, or in the ALM repository . If you choose to save the virtualization project in ALM, it is
stored as a resource in the Test Resources module of the selected ALM project.
Collaborate on virtual service design. Multiple users can work with a virtualization project that is
stored in ALM. ALM enables you to control this process by ensuring that changes are made by only
one user at a time.
Reuse a virtualization project. You can copy a project that is stored in ALM, and save it in either
ALM or in the file system.
Tip: You can also add a project to existing solutions. For more details on working with projects,
see "How to Manage Virtualization Projects" on page108.
Page 313
User Guide
Chapter 14: HPApplication Lifecycle Management (ALM) Integration
From the main menu, select File > Open Project/Solution. In the Open dialog box, select ALM
Resources, and select a project.
Page 314
User Guide
Chapter 14: HPApplication Lifecycle Management (ALM) Integration
If you try to open a project that is already opened, you are notified that the project is locked by another
user. If you choose to open the project, it is opened in read-only mode.
Page 315
User Guide
Chapter 14: HPApplication Lifecycle Management (ALM) Integration
To check out the project at a later time, from the main menu, select ALM > Check out.
l
For full details on working with version control in HP ALM, see the HP Application Lifecycle Management
User Guide.
My ALM connection was lost while I was in the middle of working. What now?
Any changes you make are saved locally. When the connection to ALM is restored, your changes are
automatically uploaded to ALM.
Can a Service Virtualization solution include projects saved both in the file system
and in ALM?
Yes. You can create a solution with projects that are saved both in the file system and in ALM. You can
also add a new project to your existing solution, and save it in ALM. For details on creating a new project
within an existing solution, see "How to Manage Virtualization Projects" on page108.
In the event that a project saved in ALM is unavailable when you open the solution, a message displays.
After the connection to ALM is restored, you can reload the solution to work on the ALM projects. From
the main menu, click File > Reload Solution.
Note: All virtualization projects within a solution must be saved in the same ALM project, as you can
connect to only one ALM project at a time.
Page 316
User Guide
Chapter 14: HPApplication Lifecycle Management (ALM) Integration
Resource type. Service Virtualization projects and services are created as the Test Resource
resource type.
Resource description. In the resource Details tab, the Description area lists the services included in
the project, and details on each service. For example, you can see the service endpoints, which are
required to reconfigure your application under test.
Resource filename. Select a resource and click the Resource Viewer tab. Service Virtualization
resources are identified as follows:
l
Relationships between virtualization projects and services. Select a resource and click the
Dependencies tab.
l
I want to view a project in the Designer but not make any changes. What should I
do?
You can open the project in read-only mode. This prevents you from inadvertently making any changes.
It also allows another user to open the project for editing.
When opening a project that is saved in ALM, select Open in read-only mode in the Open dialog box.
Tip: After you close the project, the Recent Projects list on the Start Page indicates that you
previously opened it in read-only mode.
If you open the project again from the Recent Projects list, it is opened in read-only mode.
Page 317
319
319
Page 318
User Guide
Chapter 15: Version Control Support
"Prerequisites" below
Prerequisites
1. Integration with SVN requires that TortoiseSVN version 1.8 is installed on the Service Virtualization
Designer machine. You can download TortoiseSVN from http://tortoisesvn.net.
2. Check in your virtualization project or solution using TortoiseSVN.
Page 319
User Guide
Chapter 15: Version Control Support
In the Virtualization Explorer or in the Projects pane, right-click a solution or project and select SVN
Upgrade working copy.
Note: The upgrade process is performed on the complete working copy, even if the virtualization
project is only a part of the directory.
Open an existing project or solution. From the main menu, select Open Project/Solution.
Add an existing project to a solution. In the Projects pane, right-click a solution and select Add
> Existing Project.
2. Navigate to and select a checked out project located in the file system.
In the Virtualization Explorer, right-click a project name and select an SVN action.
From the main menu, select View > Projects to display the Projects pane. Right-click a solution or
project and select an SVN action.
Subversion. Opens a sub-menu with additional SVN actions you can perform.
The TortoiseSVN user interface opens, enabling you to manage version control for the project. For more
details on SVN actions, see the TortoiseSVN documentation.
Page 320
User Guide
Chapter 15: Version Control Support
Page 321
323
323
323
326
329
Page 322
User Guide
Chapter 16: Troubleshooting
Page 323
User Guide
Chapter 16: Troubleshooting
Page 324
User Guide
Chapter 16: Troubleshooting
<configuration>
<system.net>
<defaultProxy enabled="true">
<proxy proxyaddress="http://hostname:6071"/>
</defaultProxy>
</system.net>
</configuration>
, or for specific binding:
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="myHttpBinding" bypassProxyOnLocal="false"
useDefaultWebProxy="false" proxyAddress=" http://hostname:6071">
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
</configuration>
Page 325
User Guide
Chapter 16: Troubleshooting
"Setting HTTP Proxy in the Designer configuration file " on the next page
Page 326
User Guide
Chapter 16: Troubleshooting
Page 327
User Guide
Chapter 16: Troubleshooting
<configuration>
<system.net>
<defaultProxy enabled="true">
<proxy proxyaddress="http://foo.com:8080"/>
</defaultProxy>
</system.net>
</configuration>
Page 328
User Guide
Chapter 16: Troubleshooting
Address of authenticated proxy (e.g. http://foo.com:8080 ). If this value is empty then the Proxy
Server address in the system proxy is used.
Once the credentials and the proxy settings are configured as described above then the Designer will
use them both for HTTP communication with the server management API and WSDL imports from real
services.
Page 329
They may change when and if they are implemented as fully supported features.
331
Scripted Rules
331
336
339
Page 330
User Guide
Chapter 17: Service Virtualization Labs
Scripting feature - delete the rule using the script and restart simulation.
Contact support.
Scripted Rules
This section includes:
332
332
335
Page 331
User Guide
Chapter 17: Service Virtualization Labs
JavaScript: use any expression from ECMAScript5 strict mode, together with exposed Service
Virtualization objects.
C#: code any algorithmic implementation designed to process messages that are received by Service
Virtualization.
define the script for different contexts, including for a server, service, operation, session, or service
call.
define logging in the script. Messages are logged to the Service Virtualization log file.
create a custom log file to log request and response data for a specific data element.
For task details, see "How to Create a Scripted Rule" below.
2.
Page 332
User Guide
Chapter 17: Service Virtualization Labs
3.
JavaScript
C#
Select Script > Edit in New Tab to edit the script in a separate tab. Scripted rule content
remains locked until you save your changes and close the tab.
JavaScript: Use any JavaScript expression from ECMAScript5 strict mode along with Service
Virtualization exposed objects.
C#: You can code any algorithmic implementation designed to process messages that are
received by Service Virtualization.
To include code in the script that will act on external elements, such as files in the file
system, windows configuration, printers, network, database checks, or other programs,
you must specify these rules in the Service Virtualization security policy file. For details on
configuring the security policy file, see "How to Configure C# Security" on page335.
You can insert the path to a Service Virtualization object, instead of entering it manually.
Page 333
User Guide
Chapter 17: Service Virtualization Labs
Select a scripted rule, and from the Data Model Editor Script menu, select Insert Path.
Select a data element to add to the script.
o
Use hpsv.logger in the script, to log messages in the Service Virtualization log files.
To log request and response data for a specific data element, add the following line to the
scripted rule. Assign a name for the custom log file, and enter actual names for the
request and response operations, and data elements.
hpsv.dataLogger.log("<custom logfile name>.log",
hpsv.request.<request operation name>.<element1 name>.<element2
name>, hpsv.response.<response operation name>.<element1
name>.<element2 name>)
Log are saved in the following locations:
For a service running on the embedded server: Messages are stored in the Designer log
folder %APPDATA%\Hewlett-Packard\VirtualServiceDesigner\logs\messages\
[Service Name]-[Service ID]\<custom logfile name>.log.
For a service running on a Service Virtualization Server: Messages are stored in the
Server log folder %ALLUSERSPROFILE%\Hewlett-Packard\HP Service Virtualization
Server\logs\messages\[Service Name]-[Service ID]\<custom logfile
name>.log .
Property
Description
Server
hpsv.context.server
The data is visible to all services on the server that are simulating. Data
is deleted when the server restarts.
Service
hpsv.context.service
The data is visible only to the service for all simulated messages. Data is
deleted when the service simulation ends.
Operation hpsv.context.operation The data is visible only to requests of the current operation. Data is
deleted when the service simulation ends.
5.
Session
hpsv.context.session
The data is visible only to requests coming from the same user session.
Data is deleted when the user session ends.
Call
hpsv.context.call
The data is visible only to one service call (= simulated request). Data is
deleted when the simulation of that request ends.
Page 334
User Guide
Chapter 17: Service Virtualization Labs
Right-click the scripted rule and select Properties to display the options.
l
Skip the first simulation pass. To modify or complete data filled in by another rule, the
scripted rule must be have a higher priority than the rule you want to override. However, during
the first simulation pass, all the response data for the script has not yet been filled in by the
other rules. In this case, you may want to skip the scripted rule during the first simulation pass.
Execute the rule only once. As an example, you may be using the script to add an item into an
array, such as assigning an ID to a user. Each time the script is run, the rule will modify the
response, causing the simulation process to continue repeatedly. In this case, use this option to
properly execute the simulation.
Designer (embedded server): On the Service Virtualization Designer machine, navigate to the
\bin folder under the Designer installation folder. By default, C:\Program Files (x86)\HP\HP
Page 335
User Guide
Chapter 17: Service Virtualization Labs
Service Virtualization Server: On the Service Virtualization Server, navigate to the \bin folder
under the Service Virtualization Server installation folder. By default, C:\Program Files\HP\HP
Service Virtualization Server\Server\bin.
3. To configure the permissions, copy the relevant text from the Service Virtualization error message
in the Problem List into the CodeSecurityPolicy.xml file . For example:
<IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Write="C:\demo\pirate.txt"
/>
4. Restart the relevant application to apply the changes:
l
337
Page 336
User Guide
Chapter 17: Service Virtualization Labs
337
"Prerequisites" below
Prerequisites
a. Enable theNetwork Virtualization lab feature.
For details on Service Virtualization lab features, see "Service Virtualization Labs" on page330.
b. HP Network Virtualization and the Location Editor must be installed on the Service
Virtualization Server machine.
For information on supported versions, refer to the support matrix on the HP Software
Support site at: http://h20230.www2.hp.com/sc/support_matrices.jsp.
c. Configure the Service Virtualization Server to connect to Network Virtualization.
Navigate to the HP.SV.StandaloneServer.exe.config file, located on the Service
Virtualization Server machine in the server installation folder. By default, C:\Program
Files\HP\HP Service Virtualization Server\Server\bin.
Page 337
User Guide
Chapter 17: Service Virtualization Labs
Configure the properties in the following sections according to your Network Virtualization
system definitions:
o
2.
3.
Advanced. Select a predefined .ntxx emulation file that was created in the Network
Virtualization Network Editor and saved in the file system.
Copy an existing model. Select an existing network model and click Duplicate. A copy is
made of the model you selected. You can edit the settings and save it as a new network
model.
4.
Page 338
User Guide
Chapter 17: Service Virtualization Labs
340
340
Page 339
User Guide
Chapter 17: Service Virtualization Labs
To learn more about importing pcap files, see "Packet Capture (pcap) Import Overview" above.
Pcap file import is available for services using HTTP transport only.
1. Prerequisite: Enable thePcap lab feature. For details on Service Virtualization lab features, see
"Service Virtualization Labs" on page330.
2. In the Data Model Editor, expand a rule.
3. In the Operations pane, make sure the virtual service name is selected, and not an individual
operation.
4. Right-click the data rule and select Import Pcap.
5. Select a .pcap file stored in the file system.
6. For RESTservices, select a specific URI space to import the data into.
7. In the Select Streams dialog box, select one or more streams to import.
The Select Streams dialog box displays all usable TCP streams in the .pcap file. Service
Virtualization discards TCP streams with gaps.
The Size column displays the total number of bytes in the request and response streams.
Tip: Click a source or destination address to view the full source/destination path of the TCP
connection.
Page 340