2012-10-12 75 views
0

我正在尝试将VS 2010中的服务引用添加到我在Server 2008/IIS7服务器上的WCF Web服务。我将该服务放入现有/正在运行的ASP.NET网站中。当我输入服务的URL时,会出现标准服务屏幕,但是当我尝试添加对正在开发的新网站项目的引用时,出现以下错误。在IIS 7中部署WCF Web服务 - 获取错误

URL https://www.nameofsite.net/service.svc?wsdl上的文档未被识别为已知文档类型。 来自每种已知类型的错误消息可能会帮助您解决问题: - 来自'XML Schema'的报告是'文档格式无法识别(内容类型为'text/html; charset = UTF-8')。 。 - 'https://www.nameofsite.net/service.svc?wsdl'的报告是'文档格式不被识别(内容类型是'text/html; charset = UTF-8')'。 - 来自'DISCO文件'的报告是'发现文件在URL https://www.nameofsite.net/Service.svc?disco找不到。'。 - 无法识别文档格式。 - 来自'WSDL文档'的报告是'文档格式不被识别(内容类型是'text/html; charset = UTF-8')。'。 元数据包含无法解析的引用:'https://www.nameofsite.net/service.svc?wsdl'。 没有端点收听https://www.nameofsite.net/service.svc?wsdl可以接受该消息。这通常是由不正确的地址或SOAP操作引起的。有关更多详细信息,请参阅InnerException(如果存在)。 远程服务器返回错误:(404)未找到。 如果服务在当前解决方案中定义,请尝试构建解决方案并再次添加服务引用。

我尝试添加MIME类型svc到IIS,并没有工作。我看到有很多关于soap1.1没有与soap1.2进行通信的讨论,但是我对这个太新了,甚至没有遵循我见过的说明。请帮忙。谢谢。

回答

1

服务是否发布其元数据?检查httpsGetEnabled国旗在web.config文件服务:

<behaviors> 
<serviceBehaviors> 
    <behavior name="NewBehavior"> 
    <serviceMetadata httpsGetEnabled="true" 
    httpsGetUrl="https://myComputerName/myEndpoint" /> 
    </behavior> 
</serviceBehaviors> 
</behaviors> 

欲了解更多信息有关这些标签:ServiceMetaData

可能还需要在你的web.config的服务配置该端点:

<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> 

一些更多的背景: Web.Config

WSDL vs MEX

+0

这里就是我的,现在说: – nlehman

+0

< - 要接收故障异​​常详细信息以进行调试,设置下面的值为true。设置为false部署之前避免泄露异常信息 - > nlehman

+0

我如何配置端点? – nlehman