2008-12-04 11 views
17

Otrzymuję następujący błąd i mogę skorzystać z pomocy w jego rozwiązaniu. Ktoś ma jakieś pomysły?Rozwiązywanie problemów związanych z błędem konfiguracji w adresie WCF Niezgodność filtru

Wiadomość z "http://localhost:60078/BidService.svc/Query" nie może zostać przetworzona w odbiorniku z powodu niezgodności AddressFilter w EndpointDispatcher. Sprawdź, czy adresy EndpointAddresses nadawcy i odbiorcy zgadzają się.

Plik konfiguracyjny klient jest:

<system.serviceModel> 
    <bindings> 
     <customBinding> 
      <binding name="WebHttpBinding_IBidService"> 
       <textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16" 
        messageVersion="None" writeEncoding="utf-8"> 
        <readerQuotas maxDepth="32" maxStringContentLength="8192" 
            maxArrayLength="16384" 
         maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
       </textMessageEncoding> 
        <httpTransport manualAddressing="True" /> 
      </binding> 
     </customBinding> 
    </bindings> 
    <client> 
     <endpoint binding="customBinding" bindingConfiguration="WebHttpBinding_IBidService" 
        behaviorConfiguration="IBidServiceBehavior" 
      contract="myService.IBidService" name="WebHttpBinding_IBidService" /> 
    </client> 
     <behaviors> 
      <endpointBehaviors> 
       <behavior name="IBidServiceBehavior"> 
        <webHttp/> 
       </behavior> 
      </endpointBehaviors> 
     </behaviors> 
</system.serviceModel> 

Mój kontrakt serwisowy:

[ServiceContract(Namespace = "http://xxxx.com/services/bids")] 
public interface IBidService 
{ 
    [OperationContract(Action = "*")] 
    [WebGet(RequestFormat = WebMessageFormat.Xml, ResponseFormat = WebMessageFormat.Xml, BodyStyle = WebMessageBodyStyle.Wrapped)] 
    List<BidSummary> Query(); 
} 

Moja Usługa jest skonfigurowana w następujący sposób:

<service name="xxx.Web.Services.Bids.BidService" 
      behaviorConfiguration="Cutter.Web.Services.Bids.BidServiceBehavior"> 
    <endpoint address="" binding="basicHttpBinding" 
      contract="xxx.Web.Services.Bids.IBidService" />     
    <endpoint address="mex" binding="mexHttpBinding" 
      contract="IMetadataExchange" /> 
</service> 

<behavior name="Cutter.Web.Services.Bids.BidServiceBehavior"> 
    <serviceMetadata httpGetEnabled="true" /> 
    <serviceDebug includeExceptionDetailInFaults="true" /> 
</behavior> 

Jedyną rzeczą Czytałem, że trzeba mieć zachowanie webHttp, które dodałem. Każda pomoc będzie doceniona. Chcę po prostu prosty POX Service

Odpowiedz

30

Myślę, że musisz dodać zachowanie webHttp również do konfiguracji usługi.

+0

Tak myślałem, ale nie sądzę, że to opcja. To nie pojawia się przynajmniej w intellisense. – JoshBerke

+0

Zobacz http://blogs.msdn.com/bags/archive/2008/06/09/rest-in-wcf-part-iv-hi-rest-exposing-a-service-via-get-configuring-the- service.aspx – Brian

+1

Dziękuję Nie rozumiem, dlaczego mają ServiceBehaviors i EndpointBehaviors, ale teraz działa ... teraz, aby mój klient wcf pracował. – JoshBerke

Powiązane problemy