The message with Action ... ContractFilter mismatch at the EndpointDispatcher.

Proposed The message with Action ... ContractFilter mismatch at the EndpointDispatcher.

  • Thursday, December 06, 2007 3:15 PM
     
     

    I get the following error when attempting to execute a new method on an existing service where all other methods work without error.  I don't get a call to my service so no internal error is generated that I can catch, any ideas as to what is causing this?:

     

    {System.ServiceModel.ActionNotSupportedException: The message with Action 'DASvc/IScenarioDataService/ScenarioCloseService' 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).

    Server stack trace:
       at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)
       at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
       at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
       at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

    Exception rethrown at [0]:
       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       at DASvc.IScenarioDataServices.ScenarioCloseService()
       at DASvc.ScenarioDataServicesClient.ScenarioCloseService() in C:\Dev\DASVC\DASvcClient\DASvc.cs:line 4754
       at DASvc.ScenarioDataService.ScenarioCloseService() in C:\Dev\DASVC\DASvcClient\ScenarioDataService.cs:line 2563}

     

    Code for the new method:

    [ServiceContract(Namespace = "DASvc")]

    public interface IScenarioDataService

    {

    [FaultContract(typeof(dasvcErrorFault))] // New Method signature definition

    [OperationContract]

    bool ScenarioCloseService();

    ...}

     

    [OperationBehavior]

    public bool ScenarioCloseService()

    {

    try

    {

    return true;

    }

    catch (Exception ex)

    {

    string userName = Thread.CurrentPrincipal.Identity.Name;

    dasvcErrorFault fe = errHandlerObj.HandleError(ex, "CloseService User: " + userName, loggerObj, LoggingUtility.callEventID.EconomicScenarioDataService);

    throw new FaultException<dasvcErrorFault>(fe);

    }

    }

All Replies

  • Tuesday, December 11, 2007 6:16 AM
     
     Proposed

    It looks a lot like you are trying to call an old instance of your service with a proxy created for a new instance of your service.

     

    If you are 100% sure that the service you are calling has the new method installed and running, then you should be able to diagnose this further by turning on tracing on the service.

     

    Hope this helps -

    Justin

     

    • Proposed As Answer by waltercanta Wednesday, November 03, 2010 8:51 PM
    •  
  • Tuesday, March 18, 2008 4:26 PM
     
     

     

    Hi,

     

    I am getting a similar error but the action is shown as an empty string instead. We have a WCF service which is consumed by a client developed using WebMethods. The webmethods client is recieveing the following error.

     

    The second problem I am facing is that, our service is unable to capture any logs for this error even after starting the trace.

     

    Any suggestions?

     

    <s:Envelope

    xmlnsTongue Tied="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><fa

    ultcode

    xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none">a:Acti

    onNotSupported</faultcode><faultstring xml:lang="en-GB">The message with Action '' 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).</faultstring></s:Fault></s:Body></s:Envelope>

     

     

    Cheers,

    Vivek

  • Tuesday, March 18, 2008 5:35 PM
     
     Proposed

    Could you enable tracing so that there is more information to diagnose the problem?

    Before doing that,  you probably should doubel check to make sure the client proxy is in sync with the service.

     

  • Wednesday, April 30, 2008 3:44 PM
     
     

    Thanks. The problem is solved now after enabling the service level trace. The client message had a problem with the xml namespace.

    Thanks very much indeed.

     

    V

  • Sunday, June 15, 2008 1:17 AM
     
     

    i have the same problem here, i need to where can i enable the service level trace as u mentioned, so that i fix my problem

     

    thnx

     

  • Saturday, June 28, 2008 5:37 PM
    Moderator
     
     
    Can you check the message client is sending specifically action? You could use iclientmessageinspector to inspect the message client is sending.

     

  • Tuesday, May 05, 2009 8:37 AM
     
     

    Thanks. The problem is solved now after enabling the service level trace. The client message had a problem with the xml namespace.

    Thanks very much indeed.

     

    V


    I'm having the same problem.
    How did you see the xml namespaces?
    And where did you change them?

    What is weird it works if I turn transfermode to Buffered.

    Tuoski's Blog - http://www.tuoski.net/
  • Monday, February 08, 2010 7:06 AM
     
     Proposed
    hi
    I too faced a similar error today, In my case what happened was the ServiceBehavior class was implementing 2 interfaces, so one of them was hiding the other.
    Simple check , is using Vs2008 IDE , do a Add service reference to the webservice, after that expand the service it will list the implemented Interfaces, then click of the Interfaces individually on the right hand side of the "Add Service Reference" dialog see the operations listed, make sure you have all the operations in the interface (ServiceContract)

    Thanks
    Sundara Prabu
    Y2KPRABU, MCTS,MCPD INDIA
  • Thursday, April 22, 2010 7:12 AM
     
     

    Hello~

     

    If any clients is existed, you need to close all clients.

    Rebuild all and restart clients after updating service reference.

  • Saturday, February 18, 2012 2:56 PM
     
     

    How do you enable the service level trace?

  • Thursday, March 08, 2012 12:49 PM
     
     

    I also want to know how can I do that! "How do you enable the service level trace?".

    Anyone can say that to us?

    Thanks!

  • Wednesday, May 09, 2012 5:22 AM
     
     

    I also want to know how can I do that! "How do you enable the service level trace?".

    Anyone can say that to us?

    Thanks!

    http://blogs.msdn.com/b/madhuponduru/archive/2006/05/18/601458.aspx

    mole on left eye

  • Monday, December 17, 2012 2:27 PM
     
     Proposed
    I changed the namespace of the client to the same as the server ,but the problem remains
    Finally I just click the wsdl file and It shows the different from what I think it should be , and at last I found my EndPointAddress just reference the wrong svc file , after I corrected it , the problem was fixed   
    • Proposed As Answer by Bhandare Dinesh Thursday, January 17, 2013 4:40 AM
    •  
  • Thursday, January 17, 2013 4:42 AM
     
     

    Try rebooting the server to resolve this issue, we have resolve the same. Have tried many things but did not worked, the code uploaded was working fine on other system.

    Thanks

    Dinesh