2011-05-24 66 views
2

我有一個整合GWT到OSGi Equinox容器的問題。入口點網頁運行。我看到了我的第一頁。但是,當我點擊一個按鈕來實現服務器調用時,它不會運行。 我使用Firefox,我有螢火蟲。然後,當我看到網絡領域,我得到了一個消息:整合GWT和OSGi的問題

7|0|6|http://localhost/zbapp/zb_app/|A31E1254E17F9AD731856D6BE34124A2|main.java.com.gwt.app.client.GreetingService|greetServer|java.lang.String/2004016611||1|2|3|4|2|5|5|6|6| 

和響應:方法

Content-Type text/html; charset=iso-8859-1 
Cache-Control must-revalidate,no-cache,no-store 
Content-Length 1431 
Server Jetty(6.1.x) 

Host localhost 
User-Agent Mozilla/5.0 (Windows NT 5.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1 
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language es-es,es;q=0.8,en-us;q=0.5,en;q=0.3 
Accept-Encoding gzip, deflate 
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 
Keep-Alive 115 
Connection keep-alive 
Content-Type text/x-gwt-rpc; charset=utf-8 
X-GWT-Permutation CCF6A1341D371C4123AE827BC29EA602 
X-GWT-Module-Base http://localhost/zbapp/zb_app/ 
Referer http://localhost/zbapp/ZB_app.html 
Content-Length 174 
Pragma no-cache 
Cache-Control no-cache 

後進行

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> 
<title>Error 404 ProxyServlet: /zbapp/zb_app/greet</title> 
</head> 
<body><h2>HTTP ERROR 404</h2> 
<p>Problem accessing /zbapp/zb_app/greet. Reason: 
<pre> ProxyServlet: /zbapp/zb_app/greet</pre></p><hr /><i><small>Powered by  Jetty://</small></i><br/>                       
</body> 
</html> 


Problem accessing /zbapp/zb_app/greet. Reason: 
ProxyServlet: /zbapp/zb_app/greet 

它看起來的電話,但它可以不能訪問。我不知道這個問題。有人能幫助我嗎?我需要解決它與其他服務集成。

非常感謝!

問候!

回答

2

我不知道如何使用Spring,但我已經集成了一個與GWT的OSGi包,希望這會幫助你做到這一點。

看一看這個:http://bryanhunt.wordpress.com/2010/05/14/osgi-as-a-web-application-server/。本教程將逐步介紹如何將servlet集成到OSGi包中。然後看看這個http://wiki.eclipse.org/Google_Web_Toolkit_and_Equinox。這個鏈接很好地解釋了將GWT整合到一個OSGi包中需要知道的一切,除了如何包裝GWT罐子,這很容易做到:

在eclipse中,go file> new project> plug in development> plug從現有的jar歸檔中。然後選擇添加外部並選擇你的GWT用戶jar(如果你願意,可以選擇GWT-dev,但這對於服務器端來說不是必須的)。您可以選擇是否提取罐子,這沒關係。清單文件將自動生成並導出所有GWT功能。您應該只需要在您的servlet包的清單文件中包含這個包。

(最後一個)教程的第二個小問題是,他聲明您需要刪除導出javax.servlet的GWT bundle清單中的行(您剛剛從jar中創建的清單)。*這是正確的,但是當你這樣做時,你還應該將Require-Bundle: javax.servlet行添加到GWT包的清單中,否則你將得到一個類加載器異常。

我希望這會有所幫助。

0

那麼,我解決了第一個問題,我實現了!我已經加入了擴展標誌上的文件的plugin.xml爲:

<extension point="org.eclipse.equinox.http.registry.servlets"> 
    <servlet alias="/zbapp/zb_app/greet" class="main.java.com.gwt.app.server.GreetingServiceImpl" /> 
</extension> 

然而,我的錯誤改變500的原因是:

java.lang.NoClassDefFoundError: org/springframework/asm/ClassVisitor 

但我已經部署org.springframework.asm包和我也添加了Import-Packages標籤org.springframework.asm包。

春天的版本是3.1.0,我不這是爲什麼會發生?我只認爲如果錯誤是由於Spring的版本。

謝謝!