What version of the SDK are you using? I assume you're doing this locally?

This works fine for me - I just tried running the code you sent:

 FileService fileService = FileServiceFactory.getFileService();

 AppEngineFile file = fileService.createNewBlobFile("text/plain");


No errors in a servlet.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Fri, Aug 12, 2011 at 10:36 AM, Simon-Pierre Gingras <
[email protected]> wrote:

> Hi everyone,
>
> I've been testing the sample code found at
> http://code.google.com/appengine/docs/java/blobstore/overview.html#Writing_Files_to_the_Blobstore
>  ,
> but somehow i'm having a runtime exception.
> As you can see from the code below, i've only implemented the first two
> lines of the sample code:
>
> // ===========  BlobStoreExperiment.java ===========
> import java.io.IOException;
>
> import com.google.appengine.api.files.AppEngineFile;
> import com.google.appengine.api.files.FileService;
> import com.google.appengine.api.files.FileServiceFactory;
>
> public class BlobStoreExperiment {
>   public static void writeImageToBlobStore() throws IOException {
>
>     // Get a file service
>     FileService fileService = FileServiceFactory.getFileService();
>
>     // Create a new Blob file with mime-type "text/plain"
>     AppEngineFile file = fileService.createNewBlobFile("text/plain"); //
> <--------- Exception thrown on this line
>   }
> }
>
> ============ Runtime error stacktrace ===================
> [ERROR] javax.servlet.ServletContext log: Exception while dispatching
> incoming RPC call
> com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public
> abstract com.gwtplatform.dispatch.shared.Result
> com.gwtplatform.dispatch.shared.DispatchService.execute(java.lang.String,com.gwtplatform.dispatch.shared.Action)
> throws
> com.gwtplatform.dispatch.shared.ActionException,com.gwtplatform.dispatch.shared.ServiceException'
> threw an unexpected exception:* java.lang.VerifyError: class
> com.google.appengine.api.files.FileServicePb$CreateRequest overrides final
> method getUnknownFields*
> .()Lcom/google/appengine/repackaged/com/google/protobuf/UnknownFieldSet;
>  at
> com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385)
> at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588)
>  at
> com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
> at
> com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
>  at
> com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at
> com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
>  at
> com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
> at
> com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
>  at
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
> at
> com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
>  at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
> at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>  at
> com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35)
> at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>  at
> com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:58)
> at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>  at
> com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
> at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>  at
> com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122)
> at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>  at
> com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97)
> at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>  at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
> at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>  at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>  at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
> at
> com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70)
>  at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at
> com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:351)
>  at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
>  at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
>  at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>  at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>  at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> Caused by: java.lang.VerifyError: class
> com.google.appengine.api.files.FileServicePb$CreateRequest overrides final
> method
> getUnknownFields.()Lcom/google/appengine/repackaged/com/google/protobuf/UnknownFieldSet;
>  at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClassCond(Unknown Source)
>  at java.lang.ClassLoader.defineClass(Unknown Source)
> at java.security.SecureClassLoader.defineClass(Unknown Source)
>  at java.net.URLClassLoader.defineClass(Unknown Source)
> at java.net.URLClassLoader.access$000(Unknown Source)
> at java.net.URLClassLoader$1.run(Unknown Source)
>  at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(Unknown Source)
>  at java.lang.ClassLoader.loadClass(Unknown Source)
> at
> com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:176)
>  at java.lang.ClassLoader.loadClass(Unknown Source)
> at
> com.google.appengine.api.files.FileServiceImpl.create(FileServiceImpl.java:383)
>  at
> com.google.appengine.api.files.FileServiceImpl.createNewBlobFile(FileServiceImpl.java:87)
> at
> com.google.appengine.api.files.FileServiceImpl.createNewBlobFile(FileServiceImpl.java:69)
>  at
> com.quebecpass.web.server.admin.BlobStoreExperiment.writeImageToBlobStore(BlobStoreExperiment.java:22)
> at
> com.quebecpass.web.server.admin.UploadImageHandler.execute(UploadImageHandler.java:30)
>  at
> com.quebecpass.web.server.admin.UploadImageHandler.execute(UploadImageHandler.java:1)
> at
> com.gwtplatform.dispatch.server.AbstractDispatchImpl.doExecute(AbstractDispatchImpl.java:153)
>  at
> com.gwtplatform.dispatch.server.AbstractDispatchImpl.execute(AbstractDispatchImpl.java:111)
> at
> com.gwtplatform.dispatch.server.AbstractDispatchServiceImpl.execute(AbstractDispatchServiceImpl.java:80)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
>  at
> com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:100)
> at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
>  ... 39 more
>
> As you can see, the thrown exception is *java.lang.VerifyError: class
> com.google.appengine.api.files.FileServicePb$CreateRequest overrides final
> method getUnknownFields .*
> Could someone help me understand why this exception is thrown and/or how to
> overcome this issue?
>
> Thanks in advance!
>
> Simon-Pierre, Canada
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/FBH74YMdsV0J.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to