2012-10-05 3 views
2

При запуске клиента WCF Test я получаю сообщение об ошибке:службы WCF не Endpoint

Error: Cannot obtain Metadata from localhost:52875/ControllersInfo.svc If this is a Windows (R) Communication Foundation service to which you have access, please check that you have enabled metadata publishing at the specified address.
Metadata contains a reference that cannot be resolved: localhost:52875/ControllersInfo.svc'. There was no endpoint listening at localhost:52875/ControllersInfo.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.

Вот мой web.config файл

<configuration> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0"> 
     <assemblies> 
     <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
     </assemblies> 
    </compilation> 
    </system.web> 
    <system.serviceModel> 
    <standardEndpoints> 
     <webHttpEndpoint> 
     <standardEndpoint helpEnabled="true" automaticFormatSelectionEnabled="true" /> 
     </webHttpEndpoint> 
    </standardEndpoints> 
    <services> 
     <service name="dev_FineReceiptsService.ControllersInfo"> 
     <endpoint kind="webHttpEndpoint" contract="dev_FineReceiptsService.IControllersInfo" /> 
     </service> 
    </services> 
    </system.serviceModel> 
    <connectionStrings> 
    <add name="FineReceiptsTestEntities" connectionString="metadata=res://*/FineTest.csdl|res://*/FineTest.ssdl|res://*/FineTest.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=msdev01;Initial Catalog=FineReceiptsTest;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /> 
    </connectionStrings> 
</configuration> 

Может кто-нибудь сказать мне, что я сделал не так?

Я попытался найти похожий вопрос, но никто из них не помог мне.

ответ

0

Ваш сервис - служба на основе REST (так как вы указали webHttpBinding).

Однако клиент WCF Test является SOAP на основе инструмента для тестирования - вы можете проверить SOAP обслуживания с этим - basicHttpBinding, wsHttpBinding и т.д.

Но вы не использовать SOAP на основе WCF Test Client для тестирования службы WCF на основе REST ..., которая не будет работать. Используйте обычный веб-браузер, потенциально в сочетании с Fiddler или что-то в этом роде, чтобы протестировать ваши службы REST.

+0

Как я понимаю, я только проверил Service неправильно, поэтому у меня нет ошибки в службе, я? Потому что в локальном браузере работает нормально. –

+0

@ Big.Child: вы определенно используете инструмент тестирования, который ** не работает ** для вашего сервиса. У вас есть проблемы - у меня нет возможности сказать ..... но вы не можете использовать тестовый клиент WCF для служб WCF на основе REST. –

0

Конечные точки метаданных раскрывают WSDL + XSD, которые описывают SOAP услуг. Нет поддержки для отображения метаданных для REST. Поскольку вы используете webHttpEndpoint, вы не можете использовать WCFTestClient. Для тестирования службы отдыха можно использовать RestSharp или Browser.

Если вам нужно добавить метаданные для службы SOAP с simplfied конфигурации вам необходимо добавить такое поведение:

<configuration> 
    <system.serviceModel> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior> 
      <serviceMetadata httpGetEnabled="true" /> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    </system.serviceModel> 
</configuration>