[appengine-java] java.lang.NoClassDefFoundError: java.rmi.server.UID ->>>>>using commons-fileupload-1.2.1.jar
Hi Guys, Im trying to store and image with GWT to Google App engine, I'm using the packages: commons-codec-1.4.jar commons-fileupload-1.2.1.jar commons-io-1.4.jar to get the widgets from the formPanel that I'm sending to the server which contain the widgets FileUpload that has my image. When I'm using this packages to recover the image and store it I've the following error: java.lang.NoClassDefFoundError: java.rmi.server.UID is a restricted class. Please see the Google App Engine developer's guide for more details. at com.google.apphosting.runtime.security.shared.stub.java.rmi.server.UID. (UID.java) at org.apache.commons.fileupload.disk.DiskFileItem. (DiskFileItem.java:103) at org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem (DiskFileItemFactory.java:196) at org.apache.commons.fileupload.FileUploadBase.parseRequest (FileUploadBase.java:358) at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest (ServletFileUpload.java:126) at com.handizo.server.service.FileUploadAnnouncementServlet.doPost (FileUploadAnnouncementServlet.java:37) at javax.servlet.http.HttpServlet.service(HttpServlet.java:713) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1093) at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter (SaveSessionFilter.java:35) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter (TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle (SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:712) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 405) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle (AppVersionHandlerMap.java:238) at org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:313) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 506) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete (HttpConnection.java:830) at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable (RpcRequestParser.java:76) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest (JettyServletEngineAdapter.java:139) at com.google.apphosting.runtime.JavaRuntime.handleRequest (JavaRuntime.java:239) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:5235) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:5233) at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest (BlockingApplicationHandler.java:24) at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: 363) at com.google.net.rpc.impl.Server$2.run(Server.java:838) at com.google.tracing.LocalTraceSpanRunnable.run (LocalTraceSpanRunnable.java:56) at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan (LocalTraceSpanBuilder.java:536) at com.google.net.rpc.impl.Server.startRpc(Server.java:793) at com.google.net.rpc.impl.Server.processRequest(Server.java:368) at com.google.net.rpc.impl.ServerConnection.messageReceived (ServerConnection.java:448) at com.google.net.rpc.impl.RpcConnection.parseMessages (RpcConnection.java:319) at com.google.net.rpc.impl.RpcConnection.dataReceived (RpcConnection.java:290) at com.google.net.async.Connection.handleReadEvent(Connection.java: 466) at com.google.net.async.EventDispatcher.processNetworkEvents (EventDispatcher.java:759) at com.google.net.async.EventDispatcher.internalLoop (EventDispatcher.java:205) at com.google.net.async.EventDispatcher.loop(EventDispatcher.java: 101) at com.google.net.rpc.RpcService.runUntilServerShutdown (RpcService.java:251) at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run (JavaRuntime.java:396) at java.lang.Thread.run(Unknown Source) This " java.rmi.server.UID" class is not in the jre class white list of Google App Engine, this mean that I can't use these packages because they need this class? In that case how I can get the im
[appengine-java] Re: java.lang.NoClassDefFoundError: java.rmi.server.UID ->>>>>using commons-fileupload-1.2.1.jar
Thanks Toby. On 9 Dec, 19:23, Toby Reyelts wrote: > http://code.google.com/appengine/kb/java.html#fileforms > > On Wed, Dec 9, 2009 at 12:44 PM, Henry wrote: > > Hi Guys, > > > Im trying to store and image with GWT to Google App engine, I'm using > > the packages: > > commons-codec-1.4.jar > > commons-fileupload-1.2.1.jar > > commons-io-1.4.jar > > to get the widgets from the formPanel that I'm sending to the server > > which contain the widgets FileUpload that has my image. > > When I'm using this packages to recover the image and store it I've > > the following error: > > > java.lang.NoClassDefFoundError: java.rmi.server.UID is a restricted > > class. Please see the Google App Engine developer's guide for more > > details. > > at > > > com.google.apphosting.runtime.security.shared.stub.java.rmi.server.UID. > > (UID.java) > > at org.apache.commons.fileupload.disk.DiskFileItem. > > (DiskFileItem.java:103) > > at org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem > > (DiskFileItemFactory.java:196) > > at org.apache.commons.fileupload.FileUploadBase.parseRequest > > (FileUploadBase.java:358) > > at > > org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest > > (ServletFileUpload.java:126) > > at com.handizo.server.service.FileUploadAnnouncementServlet.doPost > > (FileUploadAnnouncementServlet.java:37) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:713) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) > > at > > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: > > 487) > > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter > > (ServletHandler.java:1093) > > at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter > > (SaveSessionFilter.java:35) > > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter > > (ServletHandler.java:1084) > > at > > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter > > (TransactionCleanupFilter.java:43) > > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter > > (ServletHandler.java:1084) > > at org.mortbay.jetty.servlet.ServletHandler.handle > > (ServletHandler.java:360) > > at org.mortbay.jetty.security.SecurityHandler.handle > > (SecurityHandler.java:216) > > at org.mortbay.jetty.servlet.SessionHandler.handle > > (SessionHandler.java:181) > > at org.mortbay.jetty.handler.ContextHandler.handle > > (ContextHandler.java:712) > > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: > > 405) > > at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle > > (AppVersionHandlerMap.java:238) > > at org.mortbay.jetty.handler.HandlerWrapper.handle > > (HandlerWrapper.java:139) > > at org.mortbay.jetty.Server.handle(Server.java:313) > > at > > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: > > 506) > > at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete > > (HttpConnection.java:830) > > at > > com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable > > (RpcRequestParser.java:76) > > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) > > at > > > com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest > > (JettyServletEngineAdapter.java:139) > > at com.google.apphosting.runtime.JavaRuntime.handleRequest > > (JavaRuntime.java:239) > > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > > $6.handleBlockingRequest(RuntimePb.java:5235) > > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > > $6.handleBlockingRequest(RuntimePb.java:5233) > > at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest > > (BlockingApplicationHandler.java:24) > > at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: > > 363) > > at com.google.net.rpc.impl.Server$2.run(Server.java:838) > > at com.google.tracing.LocalTraceSpanRunnable.run > > (LocalTraceSpanRunnable.java:56) > > at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan > > (LocalTraceSpanBuilder.java:536) > > at com.google.net.rpc.impl.Server.startRpc(Server.java:793) > > at com.google.net.rpc.impl.Server.processReq
[appengine-java] Use Blobstore Java API with GWT
Hi Guys, Im trying to upload images using the new Blobstore API to the app engine with GWT. Ive created a FormPanel() to upload the images to the app engine, but when im trying to set up the action in the form using BlobstoreService, i cant because the import com.google.appengine cannot be resolved. My question is: how can I set up the action on the form using the BlobstoreService?? I've this code in the client side: import com.google.appengine.api.blobstore.BlobstoreService; FormPanel form = new FormPanel(); form.setEncoding(FormPanel.ENCODING_MULTIPART); form.setMethod(FormPanel.METHOD_POST); BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService(); form.setAction(blobstoreService.createUploadUrl("handizo/ upload")); error: import com.google.appengine cannot be resolved. Ive also tried to setup the action without the BlobstoreService, but when the form is read in the server side using the BlobstoreService: private BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService(); protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Map blobs = blobstoreService.getUploadedBlobs(req); BlobKey blobKey = blobs.get("myFile"); if (blobKey == null) { resp.sendRedirect("/"); } else { resp.sendRedirect("/serve?blob-key=" + blobKey.getKeyString()); } I've this other error saying me that I've to set up the action using the BlobstoreService. Error: Must be called from a blob upload callback request. at com.google.appengine.api.blobstore.BlobstoreServiceImpl.getUploadedBlobs (BlobstoreServiceImpl.java:97) at com.handizo.server.service.FileUploadAnnouncementServlet.doPost (FileUploadAnnouncementServlet.java:23) at javax.servlet.http.HttpServlet.service(HttpServlet.java:713) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) So its possible to user the BlobstoreService with GWT by the moment?? Thanks in advance :-) -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Use Blobstore Java API with GWT
Yes, I did like this and works without problems...thank for the response! On 17 Dec, 09:42, Raphael André Bauer wrote: > hey henry, > > the gwt frontend code looks like java, but it is crosscompiled. that's > the reason why the imports cannot be found - it's technically > something completely different. > > so what you have to do is having an RPC call to your server, that > returns a valid form url where you can upload your files. > > basically > > > BlobstoreService blobstoreService = > > BlobstoreServiceFactory.getBlobstoreService(); > > must be in the servlet of your RPC and the value returned by > then you get this url back and add it to your client code > > in .setAction > > .. > > hope that helps, > > ra > > On Thu, Dec 17, 2009 at 12:08 AM, Henry wrote: > > Hi Guys, > > > Im trying to upload images using the new Blobstore API to the app > > engine with GWT. > > > Ive created a FormPanel() to upload the images to the app engine, but > > when im trying to set up the action in the form using > > BlobstoreService, i cant because the import com.google.appengine > > cannot be resolved. > > > My question is: how can I set up the action on the form using the > > BlobstoreService?? I've this code in the client side: > > > import com.google.appengine.api.blobstore.BlobstoreService; > > > FormPanel form = new FormPanel(); > > form.setEncoding(FormPanel.ENCODING_MULTIPART); > > form.setMethod(FormPanel.METHOD_POST); > > BlobstoreService blobstoreService = > > BlobstoreServiceFactory.getBlobstoreService(); > > form.setAction(blobstoreService.createUploadUrl("handizo/ > > upload")); > > > error: import com.google.appengine cannot be resolved. > > > Ive also tried to setup the action without the BlobstoreService, but > > when the form is read in the server side using the BlobstoreService: > > > private BlobstoreService blobstoreService = > > BlobstoreServiceFactory.getBlobstoreService(); > > > protected void doPost(HttpServletRequest req, HttpServletResponse > > resp) > > throws ServletException, IOException { > > > Map blobs = > > blobstoreService.getUploadedBlobs(req); > > BlobKey blobKey = blobs.get("myFile"); > > > if (blobKey == null) { > > resp.sendRedirect("/"); > > } else { > > resp.sendRedirect("/serve?blob-key=" + > > blobKey.getKeyString()); > > } > > > I've this other error saying me that I've to set up the action using > > the BlobstoreService. > > > Error: Must be called from a blob upload callback request. > > at > > com.google.appengine.api.blobstore.BlobstoreServiceImpl.getUploadedBlobs > > (BlobstoreServiceImpl.java:97) > > at com.handizo.server.service.FileUploadAnnouncementServlet.doPost > > (FileUploadAnnouncementServlet.java:23) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:713) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) > > > So its possible to user the BlobstoreService with GWT by the moment?? > > > Thanks in advance :-) > > > -- > > > You received this message because you are subscribed to the Google Groups > > "Google App Engine for Java" group. > > To post to this group, send email to google-appengine-j...@googlegroups.com. > > To unsubscribe from this group, send email to > > google-appengine-java+unsubscr...@googlegroups.com. > > For more options, visit this group > > athttp://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Multilingual storing data
Hi Guys, I've a simple question, I'm using Java App Engine and I need to store multilingual data like 'ñ' character. Storing it as a unicode String, when I retrieve it, I'm getting the following one '?'. Does any one know how to store them? I need to store data with different languages. Thanks in advance. -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.