title: cannot be processed at the receiver, due to an AddressFilter mismatch at the EndpointDispatcher
body: <p>I am using ajax enabled WCF, when i open the url in web browser i am getting this error.</p>
  
  <blockquote>
    <p>The message with Action '<a href="http://localhost:22219/MobileService.svc/GetProductCategories" rel="nofollow noreferrer">http://localhost:22219/MobileService.svc/GetProductCategories</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>MobileService code is given below</p>
  
  <pre><code>namespace MobileService
  {
      [ServiceContract(Namespace = "")]
      [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
      public class MobileService
      {
          // To use HTTP GET, add [WebGet] attribute. (Default ResponseFormat is WebMessageFormat.Json)
          // To create an operation that returns XML,
          //     add [WebGet(ResponseFormat=WebMessageFormat.Xml)],
          //     and include the following line in the operation body:
          //         WebOperationContext.Current.OutgoingResponse.ContentType = "text/xml";
          [OperationContract]
          public void DoWork()
          {
              // Add your operation implementation here
              return;
          }
          [OperationContract]
          [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "GetProductCategories")]
          public List&lt;String&gt; GetProductCategories()
          {
              List&lt;String&gt; categoryList = new List&lt;string&gt;();
  
              categoryList.AddRange(new String[] { "Electronics", "Housewares", "Computers", "Software", "Music" });
  
              return categoryList;
          }
          // Add more operations here and mark them with [OperationContract]
      }
  }
  </code></pre>
  
  <p>AND 
  Service web.config file is</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;?xml version="1.0"?&gt;
  &lt;configuration&gt;
  
    &lt;system.web&gt;
      &lt;compilation debug="true" targetFramework="4.0" /&gt;
    &lt;/system.web&gt;
    &lt;system.serviceModel&gt;
  
      &lt;behaviors&gt;
        &lt;endpointBehaviors&gt;
          &lt;behavior name="MobileService.MobileServiceAspNetAjaxBehavior"&gt;
  
          &lt;/behavior&gt;
        &lt;/endpointBehaviors&gt;
      &lt;/behaviors&gt;
      &lt;serviceHostingEnvironment aspNetCompatibilityEnabled="true"
        multipleSiteBindingsEnabled="true" /&gt;
      &lt;services&gt;
        &lt;service name="MobileService.MobileService"&gt;
          &lt;endpoint address="" behaviorConfiguration="MobileService.MobileServiceAspNetAjaxBehavior"
            binding="webHttpBinding" contract="MobileService.MobileService"  /&gt;
        &lt;/service&gt;
      &lt;/services&gt;
    &lt;/system.serviceModel&gt;
   &lt;system.webServer&gt;
      &lt;modules runAllManagedModulesForAllRequests="true"/&gt;
    &lt;/system.webServer&gt;
  
  &lt;/configuration&gt;
  </code></pre>
  
  <p>can any one help me where i made mistake.</p>