ContractFilter mismatch at the EndpointDispatcher?

33,878

Add behaviour configuration in <endpoint address /> tag

  <endpoint address="" binding="webHttpBinding" bindingConfiguration="https" contract="LinkService.ILinkService" behaviorConfiguration="web"/>
Share:
33,878
bala3569
Author by

bala3569

Interested in software development, primary on the .NET Framework1 Email: [email protected]

Updated on March 07, 2020

Comments

  • bala3569
    bala3569 about 4 years

    Here i am calling the method from the hosted RESTful service in my browser

    https://eshop/LinkService/LinkService.svc/GetStudentObj
    

    and getting the following error

    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)
    

    Config file

    <system.serviceModel>
        <services>
          <service name="LinkService.LinkService" behaviorConfiguration="MyServiceBehavior">
            <endpoint address="" binding="webHttpBinding" bindingConfiguration="https" contract="LinkService.ILinkService" />
        <endpoint contract="IMetadataExchange" binding="mexHttpsBinding" address="mex" />
          </service>
        </services>
        <bindings>
          <webHttpBinding>
            <binding name="https">
              <security mode="Transport">
                <transport clientCredentialType="None" />
              </security>
            </binding>
          </webHttpBinding>
        </bindings>
        <behaviors>
          <serviceBehaviors>
            <behavior name="MyServiceBehavior">
              <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
              <serviceMetadata httpGetEnabled="false" httpsGetEnabled="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 includeExceptionDetailInFaults="true"/>
            </behavior>
          </serviceBehaviors>
          <endpointBehaviors>
            <behavior name="web">
              <webHttp/>
            </behavior>
          </endpointBehaviors>
        </behaviors>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="false" multipleSiteBindingsEnabled="true"/>
        <standardEndpoints>
          <webHttpEndpoint>
            <standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true"/>
          </webHttpEndpoint>
        </standardEndpoints>
      </system.serviceModel>
    

    and

       public Student GetStudent()
            {
                Student stdObj = new Student
                {
                    StudentName = "Bala",
                    Age = 29,
                    Mark = 95
                };
                return stdObj;
    
            }
    

    and

     [ServiceContract]
        public interface ILinkService
        {
            [OperationContract]
            [WebInvoke(Method = "GET", UriTemplate = "/GetStudentObj", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json,ResponseFormat = WebMessageFormat.Json)]
            Student GetStudent();
        }
    

    Any suggestion?

  • MrBoJangles
    MrBoJangles about 8 years
    This q and a indirectly helped me, so upvotes all around.