Unable to match transactions for a REST Virtual Service
search cancel

Unable to match transactions for a REST Virtual Service

book

Article ID: 45694

calendar_today

Updated On:

Products

CA Application Test CA Continuous Application Insight (PathFinder) Service Virtualization

Issue/Introduction

Unable to match transactions where a part of REST URI is variable.

Unable to match transactions for added POST transactions to the VSI.

Example, operation field 'POST /abcd/client_data/webapp/rest/xyz/pqr/UUID’ url has dynamic value UUID.

The UUID is supplied by another application during run time which could be x09x99x9-5x2x-300x-9x99-x9x999x99999.

Unable to supply UUID part of the URI dynamically. When tried to supply this value as a LISA property, using { }, the playback failed with the error below:

DEBUG - Operation match failure source: 'POST /abcd/client_data/webapp/rest/xyz/pqr/{URLPARAM0}', incoming: 'POST /abcd/client_data/webapp/rest/xyz/pqr/x09x99x9-5x2x-300x-9x99-x9x999x99999'

The operation field URL has a dynamic value in the URI and I am unable to supply this value dynamically during run time.

Environment

All Supported DevTest Releases.

Cause

A param for the dynamic value was added and provided a value for it in the arguments tab of the request on the VSI.

However, the URI Rules were not defined in the VSM's listen step, under Filters, Data Protocol Handler and caused the issue.

Resolution

When creating a REST Virtual Service, the REST Data Protocol handler needs to used.

The REST DPH will take care of dynamic variables in URIs automatically. It identifies the variable parts of the REST URI and converts them into PARAMS in the arguments. It also auto generates the URI Rules.  

When updating a VSI with new REST transactions, the REST DPH rules also needs to be updated.

You can also chain data protocol data handlers to work with each other. Example REST + JSON DPHs.


Additional Information

Using Data Protocols - Refer to section "Using Data Protocols" in the documentation of the DevTest release you are running.