簡體   English   中英

WCF Web服務在瀏覽器中可見,但在本地網絡外部不起作用

[英]WCF web service visible in browser but doesn't work outside local network

我在Windows 2008 R2服務器上運行一個.NET 4.0 WCF Web服務。 我不在IT部門,但我知道服務器位於防火牆/路由器的后面,並且具有某種形式的URL重寫規則。

從本地網絡中,我可以與此Web服務正常通信。 當Web服務URL直接指向服務器以及URL指向路由器的地址時,它都可以工作。 我還可以使用這兩種方式之一生成服務引用。

從本地網絡外部,您可以在Web瀏覽器中瀏覽到.scv,然后會獲得標准的wcf服務信息頁面。 但是,如果我嘗試使用此網址創建服務引用,則會收到錯誤消息

下載“ [Web服務URL] / _ vti_bin / ListData.svc / $ metadata”時出錯。 請求失敗,HTTP狀態為400:錯誤的請求。 元數據包含無法解析的引用:“ [Web Service URL]”。 內容類型application / soap + xml; 服務[Web服務URL]不支持charset = utf-8。 客戶端和服務綁定可能不匹配。 遠程服務器返回錯誤:(415)由於內容類型為'application / soap + xml,因此無法處理該消息; charset = utf-8'不是預期的類型'text / xml; charset = utf-8'。如果服務在當前解決方案中定義,請嘗試構建解決方案並再次添加服務引用。

Google告訴我內容類型為'application / soap + xml; charset = utf-8'不是預期的類型'text / xml; charset = utf-8'通常意味着客戶端和服務器的綁定不匹配,但是這似乎不是問題所在,特別是如果這不是一個一致的問題。

如果我嘗試使用Web服務,則會收到一般錯誤

服務器未提供有意義的回復; 這可能是由於合同不匹配,會話過早關閉或內部服務器錯誤引起的

不幸的是,此問題似乎僅在生產服務器上發生,這限制了我使用診斷工具的能力。

是什么導致WCF基本http Web服務在瀏覽器中可見,但不能正常工作? 另外,是什么原因導致它通過不同的終結點(URL重寫)時認為綁定不匹配。

添加mex綁定,因為它將允許您公開元數據並在客戶端上構建代理

看看這個為什么需要mex綁定( 什么是“ mexHttpBinding”?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM