Ok, so you identified what is causing the issue. I understand , since you are setting the ETX character, the broader context is that this is part of a TCP virtualization.
I think you might have encountered a product issue here, I would open a support issue, and get a proper resolution for this.
Now, as a potential work-around, the ETX-character will only be used in the TCP Listen and the TCP Respond step, so I would try to force a response parsing before the flow reaches the TCP Respond step.
I would try something like:
(this saves you from adding an additional script step to your VSM but if you use other execution modes beside efficient you will have to check if each execution mode passes via your newly added assertion)
lisa_vse_request.get(0).setBodyText(testExec.parseInState(lisa_vse_request.get(0).getBodyText()));
The above line is from the top of my head, there might be syntax errors in there, the key part is the methode: testExec.parseInState( ) which returns a String object where all double-curly braces are replaced if the property exists in testExec
Cheers,
Danny