If you're going to use BizTalk, what you describe is how it would be done. Except, you can implement the main process as Messaging only. Here are some articles:
http://ershadnozari.blogspot.com/2010/10/request-response-to-solicit-response.html
Once that is working, you can then have an Orchestration subscribing to the initial Request message on the side where it can do it's work.