響應訊息的內容型別 text/html; charset=utf-8與繫結(text/xml; charset=utf-8)的內容型別不匹配
阿新 • • 發佈:2019-02-08
在客戶端呼叫別人的介面時,總是出現下面的問題。
問題:響應訊息的內容型別
text/html; charset=utf-8 與繫結(text/xml; charset=utf-8)的內容型別不匹配。如果使用自定義編碼器,請確保正確實現 IsContentTypeSupported 方法。
然後,選擇用排除法看看到底是自己客戶端的問題,還是他人提供的介面的問題。 將自己的客戶端程式碼複製到他人的客戶端,執行,結果成功了,這告訴了自己,問題不是出現在自己客戶端程式碼上,也不是出現在他人提供的介面上。 那會是出現在哪裡呢? 排除上面兩種情況,就只剩下配置檔案了,從配置檔案下手,應該就對了。
於是,將他人客戶端的配置檔案和自己客戶端的配置檔案拿來進行對比。問題出現了。
自己的客戶端配置檔案缺少一部分。補充完整之後,就是下面的樣子了:
如圖:
然後,選擇用排除法看看到底是自己客戶端的問題,還是他人提供的介面的問題。 將自己的客戶端程式碼複製到他人的客戶端,執行,結果成功了,這告訴了自己,問題不是出現在自己客戶端程式碼上,也不是出現在他人提供的介面上。 那會是出現在哪裡呢? 排除上面兩種情況,就只剩下配置檔案了,從配置檔案下手,應該就對了。
修改了,問題是解決了,但對於自己為什麼這樣修改,和修改的東西是什麼意思,很是不理解。於是,開始了進一步的研究----WCF配置檔案。<strong><span style="font-family:KaiTi_GB2312;font-size:24px;"><bindings> <wsHttpBinding> <binding name="WsHttpBinding_Default" transactionFlow="true"> <security mode="None"> <transport clientCredentialType="None" proxyCredentialType="None" realm="" /> <message clientCredentialType="UserName" algorithmSuite="Default" /> </security> </binding> </wsHttpBinding> </bindings></span></strong>