【问题标题】:Error creating wcf .svc service创建 wcf .svc 服务时出错
【发布时间】:2015-05-28 17:13:42
【问题描述】:

我创建了下面给出的以下 svc 服务-

public class NewsRest : INewsRest
{
    public string getHomePageNews1()
    {
        DataTable dt = new DataTable();
        try
        {

            dt = new ManageNews().getHomePageNews1();
           string json = new Utills().dataTableToJsonString(dt);
           json = json.Replace("task-photo-846b6edc-3b2e-4ff6-ba10-734d64143c1d.png", "task-photo-8d5feed4-d6a1-4ae9-9a72-387ccfda1dc5.jpg");
            return json;
        }
        catch (Exception ex)
        {
            return "{}";
        }
    }
}


 [ServiceContract]
public interface INewsRest
{
    [OperationContract]
    [WebGet(ResponseFormat=WebMessageFormat.Json)]
    string getHomePageNews1();
}

和 web config 配置是-

<system.serviceModel>
<behaviors>
  <serviceBehaviors>
    <behavior name="NewsRestBehavior">
      <serviceMetadata httpGetEnabled="true" policyVersion="Policy15"  />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<services>
  <service name="UPNews.WebServices.NewsRest" behaviorConfiguration="NewsRestBehavior">
    <endpoint address=""
              binding="basicHttpBinding"
              contract="UPNews.WebServices.INewsRest" />
    <endpoint address="mex" binding="mexHttpBinding" name="MetadataEndpoint"
     contract="IMetadataExchange" />
  </service>
</services>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

但是当我在 WCF 测试客户端上测试此服务时,它会出现以下错误。-

错误:无法从http://localhost:57358/WebServices/NewsRest.svc/getHomePageNews1 获取元数据 如果这是您有权访问的 Windows (R) Communication Foundation 服务, 请检查您是否已在指定地址启用元数据发布。 如需帮助启用元数据发布, 请参阅http://go.microsoft.com/fwlink/?LinkId=65455.WS-Metadata Exchange 错误处的 MSDN 文档 URI:http://localhost:57358/WebServices/NewsRest.svc/getHomePageNews1 元数据包含无法解析的引用: 'http://localhost:57358/WebServices/NewsRest.svc/getHomePageNews1'。内容类型应用程序/soap+xml; 服务 http://localhost:57358/WebServices/NewsRest.svc/getHomePageNews1 不支持 charset=utf-8。 客户端和服务绑定可能不匹配。远程服务器返回错误: (415) Unsupported Media Type.HTTP GET Error URI: http://localhost:57358/WebServices/NewsRest.svc/getHomePageNews1 下载时出错 'http://localhost:57358/WebServices/NewsRest.svc/getHomePageNews1'。请求失败,HTTP 状态 400:错误请求。

请告诉这里发生了什么错误。

【问题讨论】:

    标签: c# .net web-services wcf


    【解决方案1】:

    您必须添加到您的服务器配置以允许 MEX(元数据交换),以便客户端可以检索生成的 WSDL。像这样的:

    <service name="UPNews.WebServices.NewsRest" behaviorConfiguration="NewsRestBehavior">
        <endpoint address=""
              binding="basicHttpBinding"
              contract="UPNews.WebServices.INewsRest" />
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    • 2012-11-24
    • 1970-01-01
    • 2012-02-07
    • 2012-07-21
    相关资源
    最近更新 更多