2012-06-13 3 views
2

После того, как я развернул веб-службу WCF для Windows Server 2008 R2, я смог получить страницу на странице «http://192.168.100.22:4567/HrmsService.svc». работает на сервере, но не на моем ПК. Я создал приложение формы Windows, и я попробовал добавить его в качестве служебной ссылки, но есть сообщение об ошибке, как показано ниже. Я установил VS2010 на сервер, и я попытался добавить его в качестве служебной ссылки, и он работает для приложения формы Windows. Я даже добавил порт 4567 в брандмауэр сервера, чтобы это разрешить. Я пробовал все это утро, но не мог понять. Пожалуйста, дайте мне знать.Host WCF в Windows Server 2008 R2 и IIS7.5

Сообщение об ошибке

Был ошибка загрузки 'http://192.168.100.22:4567/HrmsService.svc?wsdl'. Не удалось подключить к удаленному серверу. Не удалось выполнить попытку подключения, так как подключенная сторона не ответила должным образом после определенного периода времени или установила связь , так как подключенный хост не смог ответить 192.168.100.22:4567 Метаданные содержат ссылку, не может быть разрешено: «http://192.168.100.22:4567/HrmsService.svc?wsdl». Было нет конечной точки, прослушивание на 'http://192.168.100.22:4567/HrmsService.svc?wsdl', которое могло принять сообщение . Это часто вызвано неправильным адресом или действием SOAP. См. InnerException, если имеется, для более подробной информации. Не удалось подключиться к удаленным сервером. Не удалось выполнить попытку подключения, так как подключенная сторона не ответила должным образом по истечении определенного периода времени или установила соединение , так как подключенный хост не смог ответить 192.168.100.22:4567 Если услуга определена в текущем решении попробуйте создать решение и снова добавить ссылку на службу.

Это мой файл Web.config.

<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> 
     <services> 
      <service name="WcfServiceHrms.HrmsService" behaviorConfiguration="BehaviorHrms"> 
       <endpoint address= "" binding="wsHttpBinding" contract="WcfServiceHrms.IHrmsService" /> 
       <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> 
       <host> 
        <baseAddresses> 
         <add baseAddress="http://192.168.100.22:4567" /> 
        </baseAddresses> 
       </host> 
      </service> 
     </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="BehaviorHrms"> 
      <serviceMetadata httpGetEnabled="true" /> 
      <serviceDebug includeExceptionDetailInFaults="false" /> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
    </system.serviceModel> 
<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 
    </system.webServer> 

ответ

1

99% что эта ошибка связана с конфигурацией сети и не имеет ничего общего с WCF.

Try телнет 192.168.100.22 4567

http://technet.microsoft.com/en-us/library/cc771275(v=ws.10).aspx

Переместите службу в порт 80. Не стандартные порты часто закрыты брандмауэрами.

+0

Вы были на 100% правильные. Я изменил его порт 80, и он сработал. Но мне интересно, зачем мне использовать порт 80. Это правда или есть ли другой способ использовать другой номер порта? Кстати, спасибо за вашу помощь. – Hoorayo

+0

Порт 80 - порт по умолчанию для HTTP и обычно открыт в любой сети. Вам нужно поговорить с вашей сетевой командой, чтобы выяснить политику вашей компании. –

Смежные вопросы