2013-04-12 89 views
0

在我正在開發的項目中,我試圖從Web服務調用中檢索圖像的Java地圖。調用程序使用C#編寫,並且可以調用其他Web服務函數(使用C#或Java)。問題是試圖從Java地圖訪問數據。我打算將地圖數據傳遞到C#字典中,但地圖始終爲空。我已經在Java端驗證數據正在返回,但C#函數顯示我的變量爲空。通過Web服務將Java Map傳遞給C#程序

我希望有人會有一個想法,爲什麼會發生這種情況。我會將我的簡單代碼調用發佈到下面的Java Web服務。 WebReference是對Java Web服務的引用。

WebReference.ApplicationName testWeb = new WebReference.ApplicationName(); 
WebReference.Map testMap = new WebReference.Map(); 
testMap = testWeb.getMapImages(); 

編輯)我不知道這是否是恰當與否,但對於的Java Web功能的處理,客戶端代碼是通過Visual Studio自動生成的。 Map函數是Java函數轉換器的最佳建議返回類型。

+3

看起來我們需要更多信息。您是否嘗試查看Web服務返回的數據,以確保地圖在那裏?您應該可以使用Web瀏覽器(或類似wget的東西)來獲取回覆頁面並進行查看。 – redtuna

+0

是的,一個包含三個圖像的地圖正在從Java Web功能返回。我認爲這個問題與C#沒有Map數據結構有關,但顯然我不確定。 – FelixZalitz

+3

以及C#的相當於Map被稱爲Dictionary;它們足夠接近以至於你應該能夠編寫Java代碼來序列化一個Map和C#代碼,將代碼反序列化成一個Dictionary。 – redtuna

回答

0

一個解決方案是將地圖序列化爲某些東西(json,xml,...),然後在c#中將其反序列化爲字典。

要在java中序列化爲json我可以推薦gson