none
The message with Action '' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher... RRS feed

All replies

  • Hi,

    the 'Action '' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher...' exception.

    When occur the error, This can happen because of the following reasons:

    1)Your client and the service have different contracts in between.
    2)Your client and service is using a different binding in between.
    3)Your client's and service's message security settings are not consistent in between.

    Because I can not see your configure file in client side, please try to have a close look at your binding, verify that it is same at both client and server side. The tags has to be same at client and server side, attribute value such as timeouts can vary at client and server.

    And if you do not host your wcf services in IIS, please do not let the address in the endpoint as blank. And please make sure the address in the endpoint is the same as "http://laptop1234/wcfservice2_deploy/Service1.svc/" .

    Here is the similar thread, please try to refer to:

    http://stackoverflow.com/questions/5487791/wcf-contractfilter-mismatch-at-the-endpointdispatcher-exception  .

    Hope it can help you.
    Best Regards.



    Amy Peng
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.



    Monday, June 10, 2013 2:47 AM
    Moderator
  • Thank you Amy - I have the exact same settings in the <system.serviceModel> in the app.config file on the client side (copied below).  I had also seen the message on stackoverflow.com site and didn't find any actionable information for my case. 

      <system.serviceModel>

        <bindings>

          <webHttpBinding>

            <binding name="webBindinghttp" maxBufferSize="64000000" maxReceivedMessageSize="64000000" maxBufferPoolSize="64000000">

              <security mode="None"></security>

            </binding>

          </webHttpBinding>

        </bindings>

        <services>

          <service name="WcfService2.Service1"  behaviorConfiguration="serviceBehavior">

            <endpoint address="" binding="webHttpBinding" bindingConfiguration="webBindinghttp" contract="WcfService2.IService1"></endpoint>

            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />

          </service>

        </services>

        <behaviors>

          <serviceBehaviors>

            <behavior name="serviceBehavior">

              <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->

              <serviceMetadata httpGetEnabled="true"/>

              <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->

              <serviceDebug httpHelpPageEnabled="false" includeExceptionDetailInFaults="true"/>

            </behavior>

          </serviceBehaviors>

        </behaviors>

        <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

      </system.serviceModel>

    Monday, June 10, 2013 3:15 AM
  • Hi,

    It seems that you just copy the configure file in the server side. 

    For the configure file in client side, it should be something like this:

    <system.serviceModel>
        <client>
         <endpoint address="http://....." binding="webHttpBinding" bindingConfiguration="webBindinghttp"contract="WcfService2.IService1"></endpoint>
        </client>
    ..........
    </system.serviceModel>

    Best Regards.


    Amy Peng
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Monday, June 10, 2013 3:37 AM
    Moderator
  • Sorry about this.  It was the web.config file that I copied.  The <system.serviceModel> section in app.config is empty.  I am already setting the parameters in the client code as noted above.  Do I still need to have a <client> section?  Is there a reference article for how to build these settings in app.config?

    Thanks.


    Monday, June 10, 2013 4:15 AM
  • Hi,

    Your endpoint address is blank, please try to add the base address="http://laptop1234/wcfservice2_deploy/Service1.svc/" .

    Oh, I forgot that you are using the wcf restful services, the service client side config file will be empty. 

    We can configure it in this way, but maybe it is not need in your question:

    http://tech.pro/tutorial/981/creating-a-rest-client-using-wcf .

    For your question, try to refer to this article:
    http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/8d2fb9e2-82a8-4e6c-a7c9-a4cde4e3ef27 .

    Best Regards. 


    Amy Peng
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Monday, June 10, 2013 6:13 AM
    Moderator
  • >Your endpoint address is blank, please try to add the base >address="http://laptop1234/wcfservice2_deploy/Service1.svc/" .

    I get the same error condition even when I fill the value of the address property in the web.config file.  I ran the same project on a different Windows 7 machine and got the same results as well.

    Thanks.

    Monday, June 10, 2013 9:32 PM
  • Hi,

    I am sorry for the late reply.

    I see that you are using the IIS to host the wcf services, so we should leave the endpoint address blank.

    I see your trace file, it seems that your endpoint address should be: http://laptop1234/wcfservice2_deploy/Service1.svc/ProcessInboundDataTest2

    But you use the http://laptop1234/wcfservice2_deploy/Service1.svc/ as the address.

    Hope it can help you.

    Best Regards.


    Amy Peng
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Wednesday, June 12, 2013 3:07 AM
    Moderator
  • Thanks Amy - I changed the address to include ProcessInboundDataTest2 and am still getting the same error reported in the trace file. 

    The other thing I should mention is that when I use the url http://laptop1234/wcfservice2_deploy/Service1.svc, using the fiddler tool, I see that the POST message being passed through is 'POST /wcfservice2_deploy/Service1.svc/ProcessInboundDataTest2 HTTP/1.1'.  So the client is correctly formatting the request by adding the name of the method I am calling (ProcessInboundDataTest2).  For some reason, the server is not recognizing this as the action.

    Thanks.

    Friday, June 14, 2013 7:26 PM
  • I tried launching the WCF Test Client, by selecting Service1.svc in the Solution Explorer and hitting F5.  The progress bar on the WCF Test Client UI goes to 50% and then finishes quickly without selecting the service (under MyServiceProject). 

    I also tried using the SOAPCleaner tool.  Selected WebHttpBinding, Method = POST, entered the url http://laptop1234/wcfservice2_deploy/Service1.svc and loaded it.  SOACleaner does not show any Operations that I can invoke.

    There is definitely a problem on the server side that is causing the operations not to be exposed.  I can't find what the problem is though.

    Saturday, June 15, 2013 2:33 PM