2013-03-06 2 views
7

난 내 브라우저EndpointDispatcher에서 ContractFilter가 일치하지 않습니까? 여기

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

에서 호스팅 RESTful 서비스의 메소드를 호출하고 다음과 같은 오류를

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

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

     } 

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) 

구성 파일을 얻고있다

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

의견이 있으십니까?

+0

이 [대답] (http://stackoverflow.com/a/31678625/1257607) – DanielV

답변

14

추가 동작 구성 태그 <endpoint address />의 가치가 무엇인지에 대한

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

이 Q 유용 할 수 있으며, 간접적으로 도움이 나, 그래서 주위 모든 upvotes. – MrBoJangles

관련 문제