错误:无法从中获取元数据http://172.16.70.125:8080/ 使用WCF客户端访问另一台计算机上的服务时
我是WCF的新手。问题是:我有两个系统,一个运行wcf服务,另一个运行客户端。 我可以ping服务的IP,也可以在我将其放入浏览器时看到链接。(它显示服务已启动并正在运行)。 但是,当我尝试从cmd运行wcftestclient时,会出现以下错误:错误:无法从中获取元数据http://172.16.70.125:8080/ 使用WCF客户端访问另一台计算机上的服务时,wcf,wcf-client,Wcf,Wcf Client,我是WCF的新手。问题是:我有两个系统,一个运行wcf服务,另一个运行客户端。 我可以ping服务的IP,也可以在我将其放入浏览器时看到链接。(它显示服务已启动并正在运行)。 但是,当我尝试从cmd运行wcftestclient时,会出现以下错误: 错误:如果这是一个你能访问的Windows(R)通信基础服务,…< /P>不能获得元数据。 我已经试了一整天了,它说的都是一样的。 有人能告诉我出了什么问题以及如何解决这个问题吗 谢谢, 您的服务是否启用了元数据交换?您的服务应该为元数据提供一个me
错误:如果这是一个你能访问的Windows(R)通信基础服务,…< /P>不能获得元数据。 我已经试了一整天了,它说的都是一样的。 有人能告诉我出了什么问题以及如何解决这个问题吗
谢谢,您的服务是否启用了元数据交换?您的服务应该为元数据提供一个mex端点,以便WcfTestClient能够正常工作
MSDN:您的服务是否公开了元数据端点?仅包含配置的相关部分
<services>
<service behaviorConfiguration="metadataBehavior" name="MyService">
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="metadataBehavior">
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
WcfTestClient实用程序取决于服务可用的WSDL。WSDL由元数据交换(或“mex”)端点提供。您可能缺少该端点。在配置中查找类似的内容,如果缺少,则添加:
<service ... >
<endpoint ...(your usual endpoint for the service)... />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
如何检查元数据交换是否已启用?实际上,我可以从本地计算机访问该服务。在哪里添加此代码?在app.config中??我在app.config中添加了它,但是如果您将它添加到服务的.config文件中,它就不起作用了。您必须将其与.config文件中已有的内容合并。基本上,将IMAdataExchange端点添加到现有的,添加部分,将behaviorConfiguration属性指向服务的名称Behavior没有.config文件,因为我的服务是一个控制台应用程序。那么,我必须将IMetadataExchange端点放在何处?对不起,是的,您的app.config文件。如果你想发布app.config的部分,我可以帮你编辑