首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

WCF增添服务失败。服务元数据可能无法访问。请确保服务正在运行并且正在公开元数据

2012-12-17 
WCF添加服务失败。服务元数据可能无法访问。请确保服务正在运行并且正在公开元数据。错误: 无法从 http://loc

WCF添加服务失败。服务元数据可能无法访问。请确保服务正在运行并且正在公开元数据。
错误: 无法从 http://localhost:8732/mex 获取元数据如果是您有权访问的 Windows (R) Communication Foundation 服务,请检查是否已启用在指定地址发布元数据。有关启用元数据发布的帮助,请参阅 http://go.microsoft.com/fwlink/?LinkId=65455 上的 MSDN 文档。WS-Metadata Exchange 错误    URI: http://localhost:8732/mex    元数据包含无法解析的引用:“http://localhost:8732/mex”。    <?xml version="1.0" encoding="utf-16"?><Fault xmlns="http://www.w3.org/2003/05/soap-envelope"><Code><Value>Receiver</Value><Subcode><Value xmlns:a="http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher">a:InternalServiceFault</Value></Subcode></Code><Reason><Text xml:lang="zh-CN">由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 &lt;serviceDebug&gt; 配置行为)以便将异常信息发送回客户端,或在打开每个 Microsoft .NET Framework 3.0 SDK 文档的跟踪的同时检查服务器跟踪日志。</Text></Reason></Fault>HTTP GET Error    URI: http://localhost:8732/mex    下载“http://localhost:8732/mex”时出错。    请求因 HTTP 状态 400 失败: Bad Request。




在线等。。。。
[最优解释]
     up。。。。。。。
[其他解释]
如果你深信你的地址没有问题,那么需要检查下你OperationContract的返回值/参数是否是可序列化的。


[其他解释]
需要暴露 MEX
在web.config中加入

<serviceBehaviors>
  <behavior name = "MetadataBehavior">
    <serviceMetadata />
  </behavior>
</serviceBehaviors>

和mex endpoint
<endpoint binding="mexHttpBinding" bindingConfiguration=""
                    contract="IMetadataExchange" />


参考
http://bloggingabout.net/blogs/dennis/archive/2006/11/09/WCF-Part-4-_3A00_-Make-your-service-visible-through-metadata.aspx
[其他解释]
在客户端需要代理
[其他解释]
主机 服务 没有起来吧, 地址设置好了没?
[其他解释]
主机服务起了 地址没问题
[其他解释]
先装IIS再装.NETFRAMEWORK
ASPNET_REGIIS -T
重新启动IIS
[其他解释]
http://localhost:8732/[ServiceName]/mex

你服务基地址是啥啊?没有ServiceName吗?
[其他解释]
学习学习!
[其他解释]
关注一下
[其他解释]
 自己顶下。。
[其他解释]
倒粪贴,按规定处理
[其他解释]
学习中
[其他解释]
把接口方法名字换一个,试试
[其他解释]
谢谢!
------其他解决方案--------------------


我也有此问题
[其他解释]
该回复于2012-08-01 10:14:09被版主删除
[其他解释]
该回复于2012-07-29 13:41:32被版主删除
[其他解释]
按照下面方法設置後,就可以在clent看到具體的異常原因了.
在wcf项目下,找到web.config 文件修改如下(蓝色部分)

 <behaviors>
      <serviceBehaviors>
        <behavior>
          <!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false 并删除上面的元数据终结点 -->
          <serviceMetadata httpGetEnabled="true"/>
          <!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
改后,运行,看到了错误的详细信息,

热点排行