WCF Test Client无法添加服务,无法获取元数据

我可以告诉我为什么当我尝试添加服务时出现此错误?

错误:无法从http:// myserver / myapp获取元数据。 如果这是您有权访问的Windows(R)Communication Foundation服务,请检查您是否已在指定地址启用元数据发布。 有关启用元数据发布的帮助,请参阅http://go.microsoft.com/fwlink/?LinkId=65455上的MSDN文档。 WS-Metadata Exchange错误URI: http:// myserver / myapp元数据包含无法解析的引用:’ http:// myserver / myapp ‘。 远程服务器返回意外响应:(405)方法不允许。 远程服务器返回错误:(405)方法不允许.HTTP GET错误URI: http:// myserver / myapp下载’ http:// myserver / myapp ‘时出错。 请求失败,HTTP状态为403:Forbidden。

更新:我已经有以下端点了,

 

我也设置了服务行为:

        

我有这个问题,事实certificate,当我重命名.svc文件时,它的引用尚未从Service1.svc重命名。 运行项目范围的搜索并将.Service1替换为您的新名称。

 <%@ ServiceHost Language="C#" Debug="true" Service="MyNamespace.Service1" CodeBehind="MyRenamedService.svc.cs" %> 

Service="MyNamespace.Service1"应该读取Service="MyNamespace.MyRenamedService"

当您尝试从其中一个函数返回自定义类对象并且该函数在类声明中没有[DataContract]属性时,也会发生这种情况。 WCF无法确定您返回的类型,因此它会抛出标准消息。

 [Serializable] [DataContract] public class ServiceResult { .... } 

我想到了。 我在我的一个端点上使用绝对路径而且我有多个端点。 我将它改为相对路径,然后一切正常。

此外,如果您的服务未运行且可能与元数据无关,则可能会发生这种情况。 如果您有ConfigurationErrorsException那么您也会看到此结果。

当我尝试将配置更改保存到项目中时,我也得到了它,然后它告诉我保存/覆盖/忽略等。它最终添加了一个项目子类型“designer”,一旦我删除它,它就恢复了正常工作。

如果添加元数据端点不是您的问题。 进一步查看错误消息详细信息。 我有一个丢失的图书馆; “无法加载文件或程序集*”。

我需要更改Copy Local = True的引用

我是WCF的新手,只是通过内部的WCF服务向我提交了一个项目。 我在Win7上使用VS2010中的WCF测试客户端时遇到了类似的问题。 在尝试了本文和其他文章中的所有配置更改之后,我仍然遇到类似的错误。

所以我放弃了,开始阅读WCF。 在这里,我发现VS应该以管理员身份启动。 以下是文章: 入门教程WCF结果我必须启动VS2010并选中“以管理员身份运行”。 这解决了这个问题,我能够在VS2010中测试WCF服务。 我发布这个答案,其他人看看以管理员身份运行。

有时候元数据或设置没有任何工作要做; 相反,我们可能只使用127.0.0.1而不是http:\ localhost \

我发现由于我使用的inheritance自Dictionary的DataContract,我遇到了同样的错误。 DataContract的正确设置应如下所示:

 [CollectionDataContract(Name = "AdditionalProperties", ItemName = "Property", KeyName = "Key", ValueName = "Value")] public class AdditionalProperties : Dictionary { } 

这是我对此错误消息的体验,可能对其他人有用。 我的WCF服务在windows 2008 server上工作正常。我将相同的解决方案复制到Dev机器,从解决方案中选择.svc文件,以便弹出WCF测试客户端。

WCF测试客户端打开时出错,无法获取元数据,无法加载程序集等。

关键是,首先启动服务( http:// localhost:port / Service )然后只尝试WCF测试客户端。

就我而言,我没有启用BindingParams.AllowHttpGet。 当它设置为true时,它有效…

请检查并阅读所有错误文本。

在我的情况下,另一个DLL有错误,但在上面的错误文本中显示相同的错误。

请检查您是否可以解析该地址并指定了正确的虚拟目录。 myserver是否使用例如ping myserver解析为IP? myapp是正确的虚拟目录吗? 您已为wcf服务启用了元数据,但该url很可能是错误的。