2009-05-31 69 views
0

重複:這是完全相同的問題,與Issue with Incorrect URLs in the WSDL of a .NET Web Service完全相同,並且具有完全相同的答案。讓我們來關閉它,並將其與另一個合併。.NET Web服務 - 主機名解析不正確


我們已經安裝了客戶端的服務器上的ASP.NET網站。該網站提供了一個Web服務,其中包含一些由Flash對象調用的Web方法,以顯示新聞提要。如果你瀏覽他們的網站(例如:www.domain.com),除閃光燈之外,一切正常。

的問題是,當我們瀏覽到的.asmx,標題表明,主機是內部的到他們的網絡(internal.domain.com)的子域。顯然這不能解決任何公共IP從他們的網絡之外瀏覽。這會導致Flash失敗,因爲Flash對象被嵌入在頁面中,因此正在運行客戶端。

我檢查了計算機名有問題的服務器上,它甚至不匹配「internal.domain.com」 - 這是完全不同的東西。它從哪裏獲得這些信息?它不是來自IIS,因爲我們沒有設置主機頭,並且該站點的IP設置爲(全部未分配)。

我們要麼需要強制網絡服務針對特定主機上運行,​​或者我們需要改變服務器上的東西,所以它解析爲一個有效的面向公衆的主機名。任何和所有的幫助非常感謝!

回答

0

Web服務主機名稱通常是在web.config配置時.NET消耗。當它們被Flash使用時,您可能需要查看Flash文件。 (我的猜測是,它仍然被配置爲某種類型的SIT環境

+0

不管flash文件是如何消耗的網絡服務,如果我直接瀏覽到.ASMX在IE中,點擊任一網頁的方法,主機顯示爲internal.domain.com。這是一些我可以在web.config中覆蓋的東西?如果是這樣,在哪裏? – Keith 2009-05-31 05:18:57

+0

我在之前看到過一些我正在使用的服務。主要的問題是WSDL文檔推出了錯誤的域名。我會檢查一下,看看問題出在哪裏。無論哪種方式,你應該能夠強制客戶端(閃存),可連接到服務沒有真正關心什麼內部doiman它上市。 – Bluephlame 2009-05-31 06:27:34

0

我不確定這些細節,但我已經看到了有關WCF的這種抱怨。答案與設置有關在IIS中的主機頭文件

它是IIS將主機名傳遞給ASP.NET或WCF,並在配置時傳遞主機頭如果未配置主機頭,那麼我認爲它不會發送該頭「主機名」,即使客戶端設置的請求頭。