错误:无法从WCF服务获取元数据

时间:2011-05-19 09:13:20

标签: c# wcf

我有一个成功运行的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的..

1)我说我需要在配置中配置一个完整的新服务以显示元数据吗?

2)我将如何添加到配置中以使此元数据发布,以便我可以与客户端一起调用?

4 个答案:

答案 0 :(得分:48)

您需要一个服务的元数据端点,这是一个例子。

<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>

答案 1 :(得分:0)

在使用右键单击更改TestClient中的配置文件并使用svceditor&#34;编辑后,我遇到了类似的问题。增加我的maxbuffersize。如果有人也犯了这个错误,请尝试重建您的项目。

答案 2 :(得分:0)

添加

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]

答案 3 :(得分:-1)

httpGetEnabled设为true并将includeExceptionDetailInFaults设为false

<serviceMetadata httpGetEnabled="true"/>

<serviceDebug includeExceptionDetailInFaults="false"/>