我們在客戶端的服務器上安裝了ASP.NET網站。該網站提供了一個Web服務,其中包含一些由Flash對象調用的Web方法,以顯示新聞提要。如果你瀏覽他們的網站(例如:www.domain.com),除閃光燈之外,一切正常。.NET Web服務的WSDL中URL錯誤的問題
問題是,當我們瀏覽到.asmx時,標題顯示主機是其網絡內部的子域(internal.domain.com)。顯然這不能解決任何公共IP從他們的網絡之外瀏覽。這會導致Flash失敗,因爲Flash對象被嵌入在頁面中,因此正在運行客戶端。
我檢查了有問題的服務器上的計算機名稱,它甚至不匹配「internal.domain.com」 - 它完全不同。它從哪裏獲得這些信息?它不是來自IIS,因爲我們沒有設置主機頭,並且該站點的IP設置爲(全部未分配)。
我們需要強制Web服務針對特定主機運行,或者我們需要更改服務器上的某些內容,以便它解析爲有效的面向公衆的主機名。任何和所有的幫助非常感謝!
這是一個WCF SVC文件或純ASMX服務? – 2009-05-29 21:43:24
我其實並不完全確定,因爲我不是最初將Web服務添加到項目中的人。區別是什麼?我所知道的是,在站點根目錄的WebServices文件夾中有一個.asmx文件,並且代碼隱藏(.cs)文件位於App_Code目錄中。這幾乎是所有這一切。 – Keith 2009-05-30 04:56:35
我們發現我們的客戶端正在使用反向代理來處理他們的網絡/網絡流量,所以通過的主機頭與實際的url /主機名不匹配。他們無法解決這個問題,因此我們不得不刪除調用Web服務的那部分Flash。 – Keith 2009-08-04 15:01:49