We recently bumped into an interesting observation while working with DevTest 9.1.
The transport and data protocols that we are using are IBM MQ Native Transport protocol and copybook data protocol respectively.
In order to create virtual services, we used the recorder and were able to connect to Queue Manager successfully and record traffic. However once we deployed the service, the Live Invocation mode didn't work. The Live Invocation worked once we removed the copybook data protocol. It appears the data protocol handler is modifying the original request property, preventing the original request from being passed in the passthrough mode. Instead the XML message created by the data protocol handler is being passed to the live system, which the live system can't handle. We noticed none of the other data protocol handlers do this, so it's likely an issue with the data protocol handler. We have come up with a couple work arounds but wanted to check with the community to see if anyone else has hit this issue.
One thought is to have a duplicate service without the DPH and use that for live invocation mode. However a more elegant solution to accommodate for all modes in one service is more desirable.
Another thought is we can put a patch in the model to save the original request into a temporary parameter prior to the data protocol handler modifying it. Then in the live system step, we can pass the original request instead of the modified request. We're hoping not to write a custom filter to pull the body out of the request. Does anyone know if the body is parsed into a property prior to pushing it through the data protocol handler?
Any other solutions welcome!