2012-10-12 83 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