Ошибка: не удается получить метаданные из службы WCF - PullRequest
36 голосов
/ 19 мая 2011

У меня успешно работает служба WCF, которую я могу вызвать с помощью javascript.Однако я хочу вызвать его с помощью тестового клиента WCF, и мне трудно это сделать.Мне сказали, что мне нужно убедиться, что я включил публикацию метаданных по указанному адресу.После прочтения документации я просто не могу понять, что я хотел сделать, это моя конфигурация:

<system.serviceModel>
   <services>
       <service name="CommentSessionIDWCFService" 
                behaviorConfiguration="CommentSessionIDBehavior">
          <endpoint 
              address="" 
              behaviorConfiguration="CountryProvinceBehavior"
              binding="webHttpBinding" 
              contract="ICommentSessionIDWCFService" />
       </service>
   </services>
   <behaviors>
      <serviceBehaviors>
         <behavior name="CommentSessionIDBehavior">
            <serviceMetadata httpGetEnabled="true"/>
            <serviceDebug includeExceptionDetailInFaults="true"/>
         </behavior>
      </serviceBehaviors>
      <endpointBehaviors>
          <behavior name="CountryProvinceBehavior">
              <webHttp/>
          </behavior>
      </endpointBehaviors>
   </behaviors>
</system.serviceModel>

Я прочитал другие посты, но не вижу, что заполнять, и я продолжаю получать ошибки.Q's ..

1) Правильно ли я сказал, что мне нужно настроить полностью новый сервис в моей конфигурации для отображения метаданных?

2) Что мне добавить в конфигурацию, чтобы сделатьэти метаданные опубликованы, чтобы я мог вызвать их у клиента?

Ответы [ 3 ]

47 голосов
/ 19 мая 2011

Вам нужна конечная точка метаданных для вашей службы, вот пример.

<services>
    <service name="MyService" behaviorConfiguration="MEX">
    <endpoint
        address="http://localhost:8000/MEX"
        binding="mexHttpBinding"
        contract="IMetadataExchange"
    />
    </service>
</services>

<behaviors>
    <serviceBehaviors>
        <behavior name="MEX">
            <serviceMetadata/>
        </behavior>
    </serviceBehaviors>
</behaviors>
0 голосов
/ 15 марта 2018

У меня была похожая проблема после изменения файла конфигурации в TestClient с помощью правого клика и "edit with svceditor", чтобы увеличить мой максимальный размер буфера.Если кто-то тоже допустил эту ошибку, попробуйте перестроить ваш проект.

0 голосов
/ 30 апреля 2015

Установите httpGetEnabled на true и установите includeExceptionDetailInFaults на false:

<serviceMetadata httpGetEnabled="true"/>

<serviceDebug includeExceptionDetailInFaults="false"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...