Размещение службы WCF на IIS7.5 - PullRequest
2 голосов
/ 13 сентября 2011

Я новичок в WCF. я создал и разместил простой сервис wcf на iis 7.5, используя учебное пособие от http://debugmode.net/2010/09/07/walkthrough-on-creating-wcf-4-0-service-and-hosting-in-iis-7-5/

все идет хорошо, пока я не попытался использовать эту услугу. когда я пытаюсь добавить ссылку на службу в моем клиенте, она выдает следующую ошибку

Метаданные содержат ссылку, которая не может быть разрешена: 'http://localhost:4567/Service1.svc?wsdl'. Документ WSDL содержит ссылки, которые не могут быть разрешены. При загрузке произошла ошибка http://localhost:4567/Service1.svc?xsd=xsd0'. соединение было закрыто: при получении произошла непредвиденная ошибка. Невозможно прочитать данные из транспортного соединения: существующий соединение было принудительно закрыто удаленным хостом. Существующий соединение было принудительно закрыто удаленным хостом. Метаданные содержат ссылка, которая не может быть решена: 'http://localhost:4567/Service1.svc'. Тип содержимого Применение / мыло + XML; charset = utf-8 не поддерживается службой http://localhost:4567/Service1.svc. Клиентские и сервисные привязки может не соответствовать Удаленный сервер возвратил ошибку: (415) Невозможно обработать сообщение, потому что тип содержимого 'application / soap + xml; charset = utf-8 'не был ожидаемым типом' text / xml; кодировка = UTF-8' . Если служба определена в текущем решении, попробуйте создать решение и добавление сервисной ссылки снова.

web.config моего сервиса содержит

<?xml version="1.0"?>
<configuration>

 <system.web>
  <compilation debug="true" targetFramework="4.0" />
 </system.web>
 <system.serviceModel>
  <behaviors>
    <serviceBehaviors>
      <behavior>

         <serviceMetadata httpGetEnabled="true"/>

         <serviceDebug includeExceptionDetailInFaults="false"/>
      </behavior>
   </serviceBehaviors>
 </behaviors>
  <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
 </system.serviceModel>
 <system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

1 Ответ

4 голосов
/ 13 сентября 2011

Это общая ошибка, обычно вызываемая исключением, создаваемым службой. К сожалению, поскольку includeExceptionDetailInFaults имеет значение false в вашей конфигурации, вы не видите никаких подробностей исключения мыла на вашем клиенте, использующем службу.

Во-первых, установите includeExceptionDetailInFaults = "true" в своей среде разработки, чтобы вы могли увидеть любые дополнительные сведения об исключениях. Затем попробуйте использовать браузер и перейдите непосредственно к http://localhost:4567/Service1.svc, чтобы увидеть, отображается ли страница общей службы. Затем попробуйте перейти к http://localhost:4567/Service1.svc?wsdl, чтобы увидеть, правильно ли отображается WSDL. Любые ошибки, генерируемые сервисом, должны быть выброшены в браузер в обеих ситуациях. Надеюсь, это поможет вам найти причину вашей проблемы. Пожалуйста, опубликуйте любую дополнительную информацию, которую вы найдете, если вы все еще не можете выяснить проблему. Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...