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"/>
Author by
bala3569
Interested in software development, primary on the .NET Framework1 Email: [email protected]
Updated on March 07, 2020Comments
-
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 about 8 yearsThis q and a indirectly helped me, so upvotes all around.