ContractFilter mismatch in EndpointDispatcher?

Here I call a method from a hosted RESTful service in my browser

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

and get 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, eg Message, Transport, None) 

configuration 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?

+7
source share
1 answer

Add behavior configuration in <endpoint address />

  <endpoint address="" binding="webHttpBinding" bindingConfiguration="https" contract="LinkService.ILinkService" behaviorConfiguration="web"/> 
+14
source

All Articles