2011-08-04 11 views
1

gwtアプリケーションはgwt 2.4rc1で開発モードで正常に動作しますが、tomcat 6にデプロイすると、最初のrequestfactory呼び出しが行われたときにサーバー側で次の例外が発生します。GWT 2.4に関する問題rc1 RequestFactory on tomcat

java.lang.NullPointerException 
    at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:768) 
    at com.google.web.bindery.requestfactory.server.ServiceLayerCache.getOrCache(ServiceLayerCache.java:225) 
    at com.google.web.bindery.requestfactory.server.ServiceLayerCache.resolveRequestFactory(ServiceLayerCache.java:198) 
    at com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.process(SimpleRequestProcessor.java:203) 
    at com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.process(SimpleRequestProcessor.java:127) 
    at com.google.web.bindery.requestfactory.server.RequestFactoryServlet.doPost(RequestFactoryServlet.java:133) 
    at com.sample.ads.server.service.AdsRequestFactoryServlet.doPost(AdsRequestFactoryServlet.java:42) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) 
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291) 
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:776) 
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:705) 
    at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:898) 
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) 
    at java.lang.Thread.run(Thread.java:662) 
クライアント側で

、500(内部サーバーエラー)

答えて

3

ワイヤフォーマットは、識別子を入力難読化(及び従ってはるかに短縮)をサポートするためにGWT 2.3と2.4の間で変化しています。 2.3クライアントが2.4サーバーと通信しようとしていて、RC1にバグがあり、そのケースが役に立たなくなります。修正は、更新されたrequestfactoryコードに対してクライアントコードを再コンパイルすることです。

+0

私はよく知っている例外を得るn私はAndroidからRPCをやっています http://stackoverflow.com/questions/7261630/android-to-appengine-rpc-nullponter-on-server ヘルプが感謝しています:) –

-1

のGoogleのApp Engineでの作業Androidアプリを持っているために、あなたは、デフォルトで立体配置のGWT 2.3.0とEclipseでのApp Engineの接続のAndroidプロジェクトを作成する必要があります。

のWindows - >設定 - > Googleに - > Web Toolkit(2.4.0rc1ではなく)

プロジェクトを作成した後、2.4.0rc1から2.3.0にGWTバージョンを変更しようとすると、アンドロイドアプリ(webアプリが動作します)