關於(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List; 錯誤
異常:
“/AcesysWeb”應用程式中的伺服器錯誤。
com.ericliu.DAO.ProductDAO.searchCategoryAndLikeName(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆疊跟蹤資訊,以瞭解有關該錯誤以及程式碼中導致錯誤的出處的詳細資訊。
異常詳細資訊: System.ServiceModel.FaultException: com.ericliu.DAO.ProductDAO.searchCategoryAndLikeName(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
源錯誤:
|
原始檔: d:/我的文件/Visual Studio 2008/WebSites/AcesysWeb/product/products_search_show.aspx.cs 行: 31
堆疊跟蹤:
|
版本資訊: Microsoft .NET Framework 版本:2.0.50727.4927; ASP.NET 版本:2.0.50727.4927
解決方法:
1、出現(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
表明是陣列處理出了問題;
2、由於Webservice不能傳遞List,所以接收Java端列表資料集合時,要注意在java端
轉化為陣列形式傳遞之;
3、這個問題出現主要是java裡面的List的泛型出現問題;
關於List<T>,可以參照網上的資料;
4、本人檢查自己程式碼,發現java服務端獲取陣列list之後,確實轉化為Array[]了,但是
仍然出現了上面的問題,除錯了半天發現自己使用List時沒有指定型別,只是如:
List ls = pdao.searchCategory(category);
嘗試加上型別:
List<Product> ls = pdao.searchCategory(category);
將其他類似的地方全部加上強型別;這樣.net端呼叫就不會出現這個問題;
教訓,做事不能偷懶;