我正在使用IIS V5.1。集成Windows身份驗證此服務的安全設置需要「匿名」身份驗證,但未啓用承載此服務的IIS應用程序
我有以下的web配置:
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="wsHttpEndpointBinding">
<security mode="Transport" />
</binding>
</wsHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="DXDirectory.Service1Behavior"
name="DXDirectory.DXDirectoryService">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="wsHttpEndpointBinding"
name="wsHttpEndpoint" contract="DXDirectory.IDXDirectoryService" />
<endpoint address="mex" binding="mexHttpsBinding" bindingConfiguration=""
name="MexHttpsBindingEndpoint" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="DXDirectory.Service1Behavior">
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
當我選擇看SVC文件瀏覽器,它會顯示以下錯誤:
例外:
安全設置此服務需要「匿名」身份驗證,但未啓用承載此服務的IIS應用程序。
當我刪除Mex端點時,將刪除此錯誤。
但是當我嘗試添加在客戶端應用程序的服務引用它提供了以下錯誤:
在URL http://localhost/DXDirectory/DXDirectoryService.svc文檔未被識別爲已知的文檔類型。
從每個已知類型的錯誤消息可能會幫助您解決問題:從「http://localhost/DXDirectory/DXDirectoryService.svc」
- 報告是'的文檔格式不能識別(內容類型是文本/ html;字符集= UTF -8 ')。'。
- 來自'DISCO Document'的報告是'有錯誤下載'https://hes-ashu.abc.com/DXDirectory/DXDirectoryService.svc?disco'。'。
- 底層連接已關閉:發送時發生意外錯誤。
- 驗證失敗,因爲遠程方關閉了傳輸流。
- 來自'WSDL文檔'的報告是'文檔格式不被識別(內容類型是'text/html; charset = UTF-8')。'。
- 來自'XML Schema'的報告是'文檔格式不被識別(內容類型是'text/html; charset = UTF-8')。'。 元數據包含無法解析的引用:'http://localhost/DXDirectory/DXDirectoryService.svc'。
該HTTP請求未經授權,客戶端身份驗證方案爲「匿名」。從服務器收到的驗證頭是'Negotiate,NTLM'。
遠程服務器返回錯誤:(401)未經授權。
如果服務在當前解決方案中定義,請嘗試構建解決方案並再次添加服務引用。
感謝您的回覆Shiraj .. 你可以請給我一些關於如何修復https的指示。 如何啓用SSL? – 2009-09-01 09:48:00
對於測試,嘗試將安全模式設置爲「無」 – 2009-09-01 10:26:53