2009-08-05 354 views
1

我在運行我的應用程序時遇到了一個不尋常的錯誤,只是想知道是否有人遇到過這個問題。我使用谷歌協議緩衝區,我的servlet需要一個請求,並嘗試處理它,我有以下代碼:內部服務器錯誤

InputStream s = request.getInputStream(); 
AdRequest adRequest = AdRequest.parseFrom(s); 

執行第二線後,我得到下面在MyEclipse中調試程序的錯誤:

來源找不到ApplicationFilterChain.internalDoFilter(ServletRequest,ServletResponse)行:310

我正在使用Jboss應用服務器。我得到一個HTTP狀態代碼500:內部服務器錯誤。

有沒有人有任何建議/想法?

+0

如果你註釋掉你的doGet方法中的所有代碼行,它是否仍然會拋出錯誤?誰調用internalDoFilter方法?聽起來像是servlet容器正在調用的東西,因此itt可能是您的Web應用程序配置中的某個東西(特別是過濾器),並且與AdRequest完全無關。 – 2009-08-05 17:22:41

+0

堆棧跟蹤?我以前得到500:內部服務器錯誤。至少有兩種方式可以發生。 – stevedbrown 2009-08-05 17:48:35

+0

我確實評論了所有的代碼行,並運行我的客戶端程序,這次調用了servlet,這次它成功地使用了Http Status 200。 – msharma 2009-08-05 18:15:55

回答

1

我已經整理出了問題。 protobuffers.jar文件沒有被包含在我的項目.war文件中,儘管我已經將該jar添加到了我的項目中,MyEclipse並未包含它。在遵循Jboss服務器的路徑並查看.war的內部時,我發現該jar不在那裏。將它複製到Jboss /.../ default/server/deploy/myproject.war/WEB-INF/lib目錄後,錯誤消失了,我可以向servlet發送請求。

謝謝。

問候。

0

我會檢查你的jboss日誌服務器// log/server.log(假設你沒有配置它在別的地方),你會得到更好的問題描述。

內部服務器錯誤僅僅意味着未處理的異常正在通過過濾器鏈。