关于WCF测试时出现无法从***获取元数据问题


在我们已经创建成功一个WCF服务后,通过本机localhost访问和测试均没有任何问题。但是寄宿在IIS/其他平台下时便会出现以下的错误信息

1、使用WCF Test Client错误

2、通过C#引用服务引用错误

这是为什么呢?在本机的情况下一切正常,但是只要部署在服务端便报错。经查询相关技术文档发现了问题所在。原因为:

在本机环境测试,使用url地址为localhost,如http://localhost:8888/Service访问没有问题。

然后,将服务部署在服务器以后,将localhost更换为服务器IP地址在浏览器中访问依然没有问题。但由于xml配置其实还是localhost,服务需要调用wsdl文件的时候访问路径依然为http://localhost:8888/Service?wsdl而不是http://192.168.1.100:8888/Service?wsdl。所以,部署在服务端后需要调用wsdl时系统便找不到相应的xml文件,肯定会报错。如:

 

解决办法为:

将WCF部署在服务端时需要将配置文件中的访问地址更改为服务端的ip地址:

 

PS:更改baseAddress地址,同时会更改访问地址和wsdl地址。

更改完成以后,我们再次通过浏览器访问WCF服务。

这时全部访问默认url路径便修改正确了,不会再报上述的错误了。

 另外:如果在调用WCF的方法时,提示“调用方未由服务器进行身份验证“,请看《关于WCF报错之调用方未由服务器进行身份验证


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM