title: Generic WCF Routing/Forwarding/Proxy Server
body: <p>Is it possible to create a "generic" as in "adaptable" routing service, which will NOT have any public methods to call. Instead, you'd be able to call any command, which would then be mapped in the service and will pass it to appropriate end point with simple message transformation where required.
  It may be hard to understand and idea might seem a bit crazy (it came from a colleague of mine), but it's clearer if you look at the example:</p>
  
  <p><img src="https://i.stack.imgur.com/fC1TT.png" alt="WCF 4.0 Routing Service –Content Based Routing (CBR)."></p>
  
  <p>similar to what's described in <a href="http://mstecharchitect.blogspot.com/2010/04/wcf-40-routing-service-content-based.html" rel="nofollow noreferrer">this article</a>, only difference is that our service should not have a "SubmitTimeSheet" public method, in fact it should have no public methods to call. We'd have to "intercept" an incoming call on a much lower level before it returns "Method Not Found" error.</p>
  
  <p>Is this at all possible? The reason for this is obvious: possibility of adding new clients without having to change the code. All we'd have to do is to add a new mapping entry in some sort of config file or even database, e.g.</p>
  
  <pre><code>&lt;Client address="newClientAddress" method="DoAnything" transformation="NewClientDoAnything.xslt" endPoint="endPointClientAddress" endPointMethod="endPointClientDoAnything" /&gt;
  </code></pre>