2011-05-17 226 views
1

我在我的機器上創建了一個WCF服務,我在IIS下託管它,它工作正常。 然後我編譯我的服務,我把編譯代碼放在遠程服務器上。我託管它在遠程服務器上的IIS下。但是當我嘗試在自己的機器上使用它時,它會生成以下錯誤。WCF遠程服務器上的主機

內容類型text/html;響應消息的charset = utf-8與綁定的內容類型(application/soap + xml; charset = utf-8)不匹配。如果使用自定義編碼器,請確保IsContentTypeSupported方法正確實施。響應的前1024個字節是:'

然後我嘗試使用瀏覽器在遠程服務器上打開它。當我點擊wsdl的鏈接時,它說錯誤的請求或無效的主機名。可能是什麼問題呢。

回答

1

「內容類型」錯誤實際上是在客戶端產生的,因爲IIS正在向您的soap請求發送HTML響應。原因通常是IIS中的虛擬目錄未正確配置,或者WCF未能初始化。 IIS響應的內容有時可以真正幫助您調試這些問題。要檢查該HTML,請使用像Fiddler這樣的工具在請求期間攔截並檢查HTTP流量。

如果攔截的HTTP流量沒有幫助,那麼通過在WCF服務.svc文件所在的文件夾中創建一個簡單的僅HTML頁面(類似test.html)來啓動對IIS的疑難解答。嘗試通過瀏覽器訪問該頁面。如果瀏覽器正確顯示頁面內容,則IIS正在工作,問題出在WCF配置中。根據你的兩個錯誤,我會說你在服務的虛擬目錄中有一個IIS配置問題。