title: Correlation on MessageBox direct bound ports
body: <p>I have an orchestration called <em>MyUsefulOrch</em>, hosted in an application <em>MySharedApp</em>. </p>
  
  <p><em>MyUsefulOrch</em> has an inbound messagebox-direct-bound port to receive requests, and after doing some useful work, an outbound messagebox-direct-bound port to send a message to the caller. </p>
  
  <p>Now, I have another orchestration called <em>MyCallerOrch</em> which wants to benefit from the useful processing provided by <em>MyUsefulOrch</em>. However, <em>MyCallerOrch</em> is hosted in a different application, <em>MyCallingApp</em>.</p>
  
  <p>I do not want to have any references to the assembly which contains <em>MyUsefulOrch</em> from <em>MyCallerOrch</em>. </p>
  
  <p>My problem now is making sure I can send a message to <em>MyUsefulOrch</em> from <em>MyCallerOrch</em> and receive a response from it. </p>
  
  <p>Ahah! Correlation should do the trick! But how do I go about getting correlation to work in this scenario? </p>
  
  <p>For example: </p>
  
  <ul>
  <li>
  Would I put a correlation id in a property schema and stuff a guid into the message context under this property from <em>MyCallerOrch</em> just before sending it to the messagebox? </li>
  <li>
  How do I ensure that <em>MyCallerOrch</em> receives only the responses it needs to receive from <em>MyUsefulOrch</em>?</li>
  <li>
  Do I need to put the correlation id value into the message body of the messages which are sent between the two orchestrations? </li>
  </ul>
  
  <p>I would greatly appreciate any help, ideally as descriptive as possible, about how to acheive this. </p>
  
  <p>Many thanks in advance.</p>