I want to accomplish request redirection in which a sender will send a request to server A. After some decision making in a vsm at server A, it should redirect the request to server B and B should send the response to the sender directly and not to server A. I tried using Web service execution step and http/s live invocation step in a vsm at server A, with target server B, but I can see response coming back to A in these steps. Which steps needs to be used such that request is forwarded to B, without modifying it, so that B will receive as if it is sent from sender and will respond directly to the sender instead of A.
I don't think you can do that.
typically what happens is Server A sends back a 302 'Moved' (to server B location) http status code, and the requestor resends the request to the provided location.
many times this happens in the HTTP stack and the client app code doesn't even know.
your problem is server B believes (correctly) that Server A is the client.