我已经创建了一个WCF服务,当我在本地访问wsdl文件时(如http://localhost/myservice/service.svc?wsdl),它会很好地显示wsdl文件。然后,我将其上传到由GoDaddy托管的虚拟服务器,当我调用http://my ip地址:myport/service.svc?wsdl时,结果是显示"You have created a service“的页面。这与我调用相同的url但没有?wsdl (http://my ip地址:myport/service.svc)时显示的页面相同。如何在虚拟服务器上获取我的wsdl文件?为什么这种情况与我的本地机器不同?
发布于 2011-09-01 01:18:28
确保宿主环境中的配置文件允许检索WSDL文档。它应该包含以下内容:
<behaviors>
<serviceBehaviors>
<behavior name="metadata">
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>并在您的服务配置中引用此行为。
编辑:
只是想说清楚。对于默认的WCF行为,WSDL文件不在任何地方。它是自动生成的,并且必须允许这种自动生成。
https://stackoverflow.com/questions/7260708
复制相似问题