2012-04-04 129 views
0

我收到Android「Host is unknown server:80」的錯誤消息。我試圖從虛擬機上的Android模擬器訪問服務器上的WCF Rest服務。這種情況是否受支持?順便說一句,我可以訪問該服務的幫助頁面,所以我知道該服務正在工作。我可以從該虛擬機訪問它。Android「主機未知」錯誤

任何幫助表示讚賞。我的開發環境是Windows 7 64 BIT,使用最新的Eclipse版本。這些服務位於Win 2008 R2機器上。

+0

問:你究竟有多少個主機?你有你的Win7開發PC和你的Win2008服務器。和你的Android模擬器。模擬器是直接運行在你的Win7 PC上,還是還有其他一些VM? – paulsm4 2012-04-04 01:45:51

+0

問:您能否在您的Android模擬器的Web瀏覽器中看到您的Win2008服務器(這相當於「可以通過Android模擬器」ping「Windows服務器)? – paulsm4 2012-04-04 01:46:36

+0

問:如果您將WCF端點地址設置爲服務器的IP地址(而不是服務器的名稱)? – paulsm4 2012-04-04 01:47:18

回答

1

我的猜測是你錯誤地配置了主機名。

根據錯誤消息,它看起來好像您提供了「:80」作爲主機名或IP地址。如果平臺認爲該字符串應該是DNS名稱並嘗試進行DNS查找,並且查找失敗會導致某種「未知主機」的診斷。

如果這是問題所在,那麼有幾點意見。

  • 如果你想提及「此設備」在一個靜態配置文件(或其他),你可以使用它的主機名或IP地址(如果您知道),或回送的IP地址接口(最有可能)是「127.0.0.1」。一個空字符串可能不起作用。

  • 端口號(例如「80」)不應包含在主機名/ IP地址中......除非在執行主機字符串解析之前將其解析出來。

+0

「名稱解析」(例如DNS)是最有可能的罪魁禍首。這就是爲什麼我問OP是否可以瀏覽他的服務器主機(或「ping」它)。但是如果他在虛擬機(除了Android模擬器之外的虛擬機*)上運行,那麼聯網也可能是一個問題。恕我直言... – paulsm4 2012-04-04 02:15:36

+0

@ paulsm4 - 我假設錯誤消息中的BIG CLUE不是紅鯡魚。 – 2012-04-04 02:22:25

+0

@ paulsm4我其實沒有提供:80;它推斷出這一點。我只是指它作爲http:// /myservicevirtualdirectory我也會嘗試IP。 – 2012-04-04 11:47:54

0

一旦這個錯誤的潛在原因忘記包括互聯網許可或不把它放在正確的地方。請確保您已經於您的manifest.xml以下,應用標籤之外:

<uses-permission android:name="android.permission.INTERNET"/> 
+0

我確實擁有該權限集。我會仔細檢查它是否在應用程序標記之外... – 2012-04-04 11:46:15

+0

這是我的文件的順序: <使用權限android:name =」android.permission.ACCESS_NETWORK_STATE「/> <使用權限android:name =」android.permission.READ_PHONE_STATE「/> – 2012-04-05 00:22:38

+0

這看起來不錯,我不認爲權限是你問題的原因。 – elevine 2012-04-05 01:08:00