Ошибка: невозможно получить метаданные из http://172.16.70.125:8080/ при использовании клиента WCF для доступа к службе на другом компьютере - PullRequest
2 голосов
/ 27 мая 2011

Я новичок в WCF.Итак, вот в чем дело: у меня есть две системы: одна работает с сервисом wcf, а другая - с клиентом.Я могу пинговать IP-адрес службы, а также видеть ссылку, когда помещаю ее в свой браузер.(Это показывает, что сервис запущен и работает).Однако, когда я пытаюсь запустить wcftestclient из cmd, выдается следующее сообщение:

Ошибка: невозможно получить метаданные из http://172.16.70.125:8080/Service Если это служба Windows (R) Communication Foundation, к которой у васдоступ, ...

Я пробовал это весь день, и это говорит то же самое.Может кто-нибудь, пожалуйста, дайте мне знать, что не так и как это исправить?

Спасибо, Thothathri

Ответы [ 3 ]

1 голос
/ 27 мая 2011

Утилита WcfTestClient зависит от WSDL, доступного для службы.WSDL предоставляется конечной точкой обмена метаданными (или «mex»).Возможно, вам не хватает этой конечной точки.Найдите что-то подобное в вашей конфигурации или добавьте его, если оно отсутствует:

<service ... >
    <endpoint ...(your usual endpoint for the service)... />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
0 голосов
/ 27 мая 2011

Ваш сервис показал конечную точку метаданных? Только соответствующие части конфигурации включены

<services>
  <service behaviorConfiguration="metadataBehavior" name="MyService">
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior name="metadataBehavior">
      <serviceMetadata httpGetEnabled="true" />
    </behavior>
  </serviceBehaviors>
</behaviors>
0 голосов
/ 27 мая 2011

Включен ли обмен метаданными на вашем сервисе? Ваша служба должна предоставить конечную точку mex для метаданных, чтобы WcfTestClient работал на AFAIK.

MSDN: Как: опубликовать метаданные для службы с использованием файла конфигурации

...