2014-07-07 85 views
-1

我做了一個ajax調用來獲取項目列表,但它返回HTTP錯誤500. 我在服務器中跟蹤它並映射填充沒有錯誤。沒有例外被拋出。java -JsonMessage在服務器端正常,但返回錯誤500到客戶端

@ResponseBody 
@RequestMapping(value = "some/path", method = RequestMethod.POST) 
public JsonMessage getlist(@RequestParam(value = "id") Long id){ 
    MyObject myobject = myObjectManager.get(id); 

    Map map = new HashMap<>(); 
    map.put("shits",lottery.getMultipleRewards()); 

    return JsonMessage.Success(map); 
} 

有什麼想法?

(如果地圖是空的,或者我設置了靜態的東西,就像一個字符串那麼它就起作用了)。

+0

服務器日誌文件中是否有錯誤消息? – Jens

+2

如果絕對沒有拋出異常,但您仍然收到HTTP 500響應,我會很驚訝。你檢查了所有的服務器日誌文件嗎? – ATG

+0

我現在只是三重檢查日誌,沒有例外。 –

回答

1

當客戶端沒有包含正確的Accept: application/json標頭或服務器未包含Content-Type: application/json時,我已經看到這種情況在特別苛刻的實現中出現。

由於錯誤發生在您的代碼之外,因此可能會以意外的方式/位置生成日誌記錄,並且您可能會禁止該特定記錄器。

我能想到的另一件事是,您可能通過另一臺服務器代理請求。在這種情況下,處理請求的服務器可以生成正確的響應,但由於某種原因代理會引發錯誤。

+0

所有的假設當然。發佈整個請求/回覆會有幫助。 –

0
  1. 嘗試返回一個字符串
  2. 如果作品嚐試簡單的對象(與XML根
  3. 如果它工作嘗試無根返回單個對象。
  4. 如果有效請嘗試地圖字符串
  5. 檢查是否所有的記錄器設置正確。 您的配置和使用的技術可能有助於診斷。
相關問題