I suppose you could set up a VSM that knows where the MAR file is located on the VSE server or file share mapped to the VSE server. In theory, anyone could call a Virtual Service using a REST call. The VSM could have an added REST step to fire the LISA Invoke API passing in the MAR file as input.
Using the old school API, the REST call would look something like this:
http://localhost:1505/lisa-invoke/runMar?marOrMariPath=<PATH_TO_MAR_ON_SERVER>/<marFileName>.mar&async=true
Refer to: Run Model Archives with LISA Invoke - DevTest Solutions - 10.2 - CA Technologies Documentation
You need to consider the following and maybe more:
- What happens if two or more users execute the same test at the same time or while a test is already running?
- How long can the HTTP connection between the consumer and the virtual service be "held open"? If the test runs too long, can it be executed asynchronously (fire-and-forget) so the service does not have to wait for the test to complete?
- Where does the test case output report "go"? If asynchronous, how does the consumer view the pass/fail results?
- Can the service combine other techniques such as GET /CoordinatorServers/{serviceName}/Tests to include the running test's test ID to respond to the consumer so a subsequent call to check the status can be handled?
- If parameters need to be passed to the Test, how is that going to happen?
And so on...
But, since you say that the test case has only one REST step, why not just embed the REST call in a virtual service. Allow the virtual service to make the REST call, and store the response from the REST call in the lisa_vse_response.get(0).setBody( "<REST CALL RESPONSE HERE>" );
The consumer calls the virtual service. The service makes the REST call and returns the response to the consumer.