Please do not take the attachments As-Is. Consider this an untested example that conceptualizes how you could use a VSM to record traffic. The VSM attempts to handle HTTP (NO HTTP/S) for both webservices and Rest calls. I don't know exactly how query strings on the URI would process in this example as they might strip out as Arguments.
Run in ITR mode, send a request, let the service route and examine the ITR Properties and Events to get a view of how it might work.
The VSM flow demonstrates how you might record and create R/R pairs.
The R/R pair member name includes a timestamp (filtered on the Listen step when request arrives).
Additional logic in the Listen Step (review Filters) stores the request body and provides an example of dynamically setting the Endpoint Host & Port by examining the operation.
When the response comes back from the endpoint, it is returned to the client.
A Scripted Assertion stores off the response.
A few extra steps try to set up a proper REST request pair and then save the Request & Response to a file.
The timestamp occurs as the first element of the filename so sorting in Windows Explorer enables one to align requests based on time.
The incoming request and outgoing response are stored with a filename of <timestamp>_<operationName> followed by the traditional -req.txt and -rsp.txt elements.
Sorting on timestamp in the file system directory sorts the requests in the order they were received by the VSM(s).
Caveats:
I supply no warranties. This is just an example that everyone can play with at their own risk.
It is theoretically possible to set up one VSM with routing or multiple VSMs each pinned to a specific endpoint.
If running the VSM in a functional VSE, you may experience performance issues.
This setup is not intended to support 000's of request/response calls.
If you send too high a number of calls, you are likely to get lost in the details of figuring out the flow.
EDIT: Removed VSM from this post and reattached due to updates below.