Hi napad,
Without seeing your VSM & VSI implementation, it is hard to definitively answer the question.
However, you can merge the two VSIs together using Workstation.
On the basis of your statements, both VSMs are pointing to the same queue. Each VSM is pointing to its respective VSI. Both VSMs work independent of each other. I would conclude that each of the VSMs is processing a different request (operation and arguments) when it arrives on the queue.
So long as you have the necessary DPHs in your VSM to identify the appropriate operation and build an appropriate argument list, you should be able to merge the VSIs together and use a single VSM to point to the newly merged VSI.
It does not seem that you would need a Matches Script unless you are trying to implement some behavior that OOTB transaction matching does not accomplish. You might need a matches script if the two VSMs are trying to process identical requests and you are unable to use standard matching to identify two different responses for the same request. An indicator of this situation might be that after the merge, both specific transactions "compress" into a single operation in the newly merged VSI.
You might,
- Copy / Paste one of the VSIs and rename it
- Use this VSI and merge the other one
- Review the VSI to determine if the merge accomplished what you wanted
- Review both VSMs to ensure that DPH configuration and any other behaviors are supported for both requests
- If you are happy with the results, run a test using sample requests against your merged VSI