Ошибка чтения клиентом wdsl wcf сервиса, содержащего "localhost"

Cтолкнулся с такой проблемой. Клиент не может считать wdsl сервиса по причине того, что в нем указан localhost. Сервис находится в локальной сети предприятия и к нему прокинут порт: условно "Organization.info:55555". Клиент при попытке считать получает сообщение:

The document was understood, but it could not be processed. - The WSDL document contains links that could not be resolved. - There was an error downloading 'http://localhost:8080/?xsd=xsd0'. - Unable to connect to the remote server - No connection could be made because the target machine act

Soap UI показывает сообщение: Error loading [http://localhost:8080/?xsd=xsd0]: java.io.IOException: Attempted read from closed stream

Сам wdsl видно через браузер извне локальной сети.

В интернете нашел очевидную рекомендацию: в App.config поменять localhost на фактический адрес. Но когда я так делаю, wdsl перестает быть виден через браузер. Я меняю

<add baseAddress="http://localhost:8080/"/>          

на

<add baseAddress="http://Organization.info:55555/"/>   

App.config выглядит вот так:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
    </startup>
  <system.serviceModel>
    <services>
      <service name="WCFService.SomeService" behaviorConfiguration="mexBehavior">
        <endpoint address="SomeService" binding="basicHttpBinding" contract="WCFService.ISomeInterface1">
        </endpoint>
        <endpoint address="SomeService" binding="basicHttpBinding" contract="WCFService.ISomeInterface2">
        </endpoint>
        <endpoint address="SomeService" binding="basicHttpBinding" contract="WCFService.ISomeInterface3">
        </endpoint>
        <endpoint address="SomeService" binding="basicHttpBinding" contract="WCFService.ISomeInterface4">
        </endpoint>
        <endpoint address="SomeService" binding="basicHttpBinding" contract="WCFService.ISomeInterface5">
        </endpoint>
        <endpoint address="SomeService" binding="basicHttpBinding" contract="WCFService.ISomeInterface5">
        </endpoint>
        <endpoint address="SomeService" binding="basicHttpBinding" contract="WCFService.ISomeInterface6">
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange">
        </endpoint>
      <host>
        <baseAddresses>
          <add baseAddress="http://localhost:8080/"/>          
        </baseAddresses>
      </host>
      </service>
    </services>
  <behaviors>
    <serviceBehaviors>
      <behavior name="mexBehavior">
        <serviceMetadata httpGetEnabled ="true"/>
      </behavior>
    </serviceBehaviors>
  </behaviors>
  </system.serviceModel>
</configuration>

Я почти уверен, что решение проблемы очень простое, но я много всего перепробовал. Брандмауэр выключал. Заранее спасибо!


Ответы (0 шт):