title: WCF ContractFilter mismatch
body: <p>I am hosting a WCF service on IIS. I can access the wsdl file with my browser. I can also add the Service Reference in Visual Studio for my client.</p>
  
  <p>However, if I try to call Server.Test() an ActionNotSupportedException is thrown:</p>
  
  <blockquote>
    <p>The message with Action '<a href="http://tempuri.org/IWCFService/Test" rel="nofollow">http://tempuri.org/IWCFService/Test</a>'
    cannot be processed at the receiver, due to a ContractFilter mismatch
    at the EndpointDispatcher. This may be because of either a contract
    mismatch (mismatched Actions between sender and receiver) or a
    binding/security mismatch between the sender and the receiver.  Check
    that sender and receiver have the same contract and the same binding
    (including security requirements, e.g. Message, Transport, None).</p>
  </blockquote>
  
  <p>I have two endpoints defined: One TCP.NET for the communication between the service and the client and one HTTP for metadata exchange.</p>
  
  <p><strong>Server Configuration (web.conf)</strong>
  
  </p>
  
  <p>
      
    </p>
  
  <p>
      
        
          
             
          
        
      </p>
  
  <pre><code>&lt;services&gt;
    &lt;service behaviorConfiguration="MyBehavior"
    name="WCFServiceLibrary.Service.WCFService"&gt;
      &lt;endpoint address=""
            binding="netTcpBinding"
            bindingConfiguration="MyServiceEndpoint"
            name="MyServiceEndpoint"
            contract="WCFServiceLibrary.Contract.IWCFService"&gt;
      &lt;/endpoint&gt;
  
      &lt;endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/&gt;
  
      &lt;host&gt;
        &lt;baseAddresses&gt;
          &lt;add baseAddress="http://192.168.0.5:8080/Service.svc" /&gt;
        &lt;/baseAddresses&gt;
      &lt;/host&gt;
    &lt;/service&gt;
  &lt;/services&gt;
  
  &lt;behaviors&gt;
    &lt;serviceBehaviors&gt;
      &lt;behavior name="MyBehavior"&gt;
        &lt;serviceMetadata httpGetEnabled="false" /&gt;
        &lt;serviceDebug includeExceptionDetailInFaults="false" /&gt;
      &lt;/behavior&gt;
    &lt;/serviceBehaviors&gt;
  &lt;/behaviors&gt;
  </code></pre>
  
  <p></p>
  
  <p></p>
  
  <p><strong>Client Configuration (app.conf)</strong></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
  &lt;configuration&gt;
    &lt;startup&gt;
      &lt;supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /&gt;
    &lt;/startup&gt;
    &lt;system.serviceModel&gt;
      &lt;bindings&gt;
        &lt;netTcpBinding&gt;
          &lt;binding name="MyServiceEndpoint"&gt;
            &lt;security mode="None" /&gt;
          &lt;/binding&gt;
        &lt;/netTcpBinding&gt;
      &lt;/bindings&gt;
  
      &lt;client&gt;
        &lt;endpoint address="net.tcp://192.168.0.5:808/Service.svc" binding="netTcpBinding"
            bindingConfiguration="MyServiceEndpoint" contract="ServiceReference.IWCFService"
            name="MyServiceEndpoint" /&gt;
      &lt;/client&gt;
  
    &lt;/system.serviceModel&gt;
  &lt;/configuration&gt;
  </code></pre>
  
  <p>In IIS I have set net.tcp (808:*) binding as well as http (8080) binding.</p>