2013-03-06 12 views
7

Oto jestem wywołanie metody z usługi hostingowej relaksującego w przeglądarceNiezgodność ContractFilter w EndpointDispatcher?

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

i otrzymuję następujący błąd pliku

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

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

i

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

     } 

i

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

Jakieś sugestie?

+0

Na co warto, to [odpowiedź] (http://stackoverflow.com/a/31678625/1257607) może być przydatna – DanielV

Odpowiedz

14

Konfiguracja Add zachowanie w <endpoint address /> tag

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

Ten q oraz pośrednio pomógł mnie, więc wszystko wokół się wznosi. – MrBoJangles

Powiązane problemy