Intento usar la api de Blobstore para appengine usando GWT ... ¡Te lo prometo! Lo tuve trabajando durante meses y de repente comencé obtengo los siguientes errores ... después de ejecutar la siguiente línea desde un servelet.Error de GWT Blobstore llamando a createUploadUrl()
ImageServiceImpl clase pública se extiende RemoteServiceServlet implementa ImageService {
/**
*
*/
private static final long serialVersionUID = 1L;
// init the blog store service
private BlobstoreService blobService = BlobstoreServiceFactory.getBlobstoreService();
//private static final Logger log = Logger.getLogger(ImageServiceImpl.class);
public static final String PATH_TO_DEFAULT_IMAGE = "images/no_photo.jpg";
. . . . . // omite por razones de brevedad }
@Override
public String getUpLoadPath() {
String url = blobService.createUploadUrl("/n5/doimage");
return url;
}
}
Inicializando la aplicación servidor del motor de 19 de Sep, 2011 7:28:45 PM información com.google.apphosting.utils.jetty.JettyLogger INFORMACIÓN: Inicio de sesión en JettyLogger (nulo) a través de com.google.apphosting.utils.jetty.JettyLogger 19 de septiembre de 2011 7:28:45 PM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml INFORMACIÓN: procesado con éxito C: \ development \ n5 \ n5 \ war \ WEB-INF/appengine-web.xml 19 de septiembre de 2011 7:28:45 PM com.google.apph osting.utils.config.AbstractConfigXmlReader readConfigXml INFORMACIÓN: Procesado correctamente C: \ desarrollo \ n5 \ n5 \ war \ WEB-INF/web.xml 19 de septiembre de 2011 3:28:47 PM com.google.appengine.tools. development.DevAppServerImpl comenzar INFORMACIÓN: El servidor está funcionando a http://localhost:8888/ 19 de Sep, 2011 7:34:59 PM com.google.appengine.tools.development.ApiProxyLocalImpl ingrese GRAVES: javax.servlet.ServletContext log: excepción al despachar entrante Llamada a RPC com.google.gwt.user.server.rpc.UnexpectedException: método de servicio 'public abstract java.lang.String com.six.n5.client.service.ImageService.getUpLoadPath()' lanzó una excepción inesperada: java. lang.VerifyError: class com.google.appengine.api.blobstore.BlobstoreServicePb $ CreateUploadURLRequest reemplaza el método final isInitialized.() Z en com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure (RPC.java:385) en com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse (RPC.java:588) en com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall (RemoteServiceServlet.java:208) en com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost (RemoteServiceServlet.java:248) en com. google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost (AbstractRemoteServiceServlet.java:62) en javax.servlet.http.HttpServlet.service (HttpServlet.java:637) en javax.servlet.http.HttpServlet.service (HttpServlet.java:717) en com.google.inject.servlet.ServletDefinition.doService (ServletDefinition.java:216) en com.google.inject.servlet.ServletDefinition.service (ServletDefinition.java:141) en com.google.inject.servlet.ManagedServletPipeline.service (ManagedServletPipeline.java:93) en com.google.inject.servlet.FilterChainInvocation.doFilter (FilterChainInvocation.java:63) en COM. google.inject.servlet.ManagedFilterPipeline.dispatch (ManagedFilterPipeline.java:122) en com.google.inject.servlet.GuiceFilter.doFilter (GuiceFilter.java:110) en org.mortbay.jetty.servlet.ServletHandler $ CachedChain. doFilter (ServletHandler.java:1157) en com.google.appengine.tools.development.HeaderVerificationFilter.doFilter (HeaderVerificationFilter.java:35) en org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java: 1157) en com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter (ServeBlobFilter.java:58) en org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1157) en com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter (TransactionCleanupFilter.java: 43) en org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1157) en com.google.appengine.tools.development.StaticFileFilter.doFilter (StaticFileFilter.java:122) en org. mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1157) en com.google.appengine.tools.development.BackendServersFilter.doFilter (BackendServersFilter.java:97) en org.mortbay.jetty.servlet. ServletHandler $ CachedChain.doFilter (ServletHandler.java:1157) en org.mortbay.jetty.servlet.Servl etHandler.handle (ServletHandler.java:388) en org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216) en org.mortbay.jetty.servlet.SessionHandler.handle (SessionHandler.java:182) en org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:765) en org.mortbay.jetty.webapp.WebAppContext.handle (WebAppContext.java:418) en com.google.apphosting.utils. jetty.DevAppEngineWebAppContext.handle (DevAppEngineWebAppContext.java:70) en org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:152) en com.google.appengine.tools.development.JettyContainerService $ ApiProxyHandler.handle (JettyContainerService.java:351) en org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:152) en org.mortbay.jetty.Server.handle (Server.java:326) en org.mortbay.jetty.HttpConnection.handleRequest (HttpConnection.java:542) en org.mortbay.jetty.HttpConnection $ RequestHandler.content (HttpConnection.java:938) en org.mortbay.jetty.HttpParser.parseNext (HttpParser.java:755) en org.mortbay.jetty.HttpParser.parseAvailable (HttpParser.java:218) en org.mortbay.jetty. HttpConnection.handle (HttpConnection.java:404) en org.mortbay.io.nio.SelectChannelEndPoint.run (SelectChannelEndPoint.java:409) en org.mortbay.thread.QueuedThreadPool $ PoolThread.run (QueuedThreadPool.java:582) Causado por: java.lang.VerifyError: class com.google.appengine.api.blobstore.BlobstoreServicePb $ CreateUploadURLRequest reemplaza el método final isIniti alized.() Z en java.lang.ClassLoader.defineClass1 (Nativo Método) en java.lang.ClassLoader.defineClass (origen desconocido) en java.security.SecureClassLoader.defineClass (origen desconocido) en java.net. URLClassLoader.defineClass (origen desconocido) en java.net.URLClassLoader.access $ 100 (origen desconocido) en java.net.URLClassLoader $ 1.run (origen desconocido) en java.net.URLClassLoader $ 1.run (origen desconocido) en java.security.AccessController.doPrivileged (método nativo) en java.net.URLClassLoader.findClass (origen desconocido) en java.lang.ClassLoader.loadClass (origen desconocido) en com.google.appengine.tools.development. IsolatedAppClassLoader.loadClass (IsolatedA ppClassLoader.java:176) en java.lang.ClassLoader.loadClass (origen desconocido) en com.google.appengine.api.blobstore.BlobstoreServiceImpl.createUploadUrl (BlobstoreServiceImpl.java:43) en com.google.appengine.api .blobstore.BlobstoreServiceImpl.createUploadUrl (BlobstoreServiceImpl.java:34) en com.six.n5.server.ImageServiceImpl.getUpLoadPath (ImageServiceImpl.java:153) en sun.reflect.NativeMethodAccessorImpl.invoke0 (Método nativo) al sol. reflect.NativeMethodAccessorImpl.invoke (Fuente desconocida) en sun.reflect.DelegatingMethodAccessorImpl.invoke (Fuente desconocida) en java.lang.reflect.Method.invoke (Fuente desconocida) en com.google.appengine.tools.development.agent .runtime.Runtime.invoke (Runtime.java: 100) en com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse (RPC.java:569) ... 39 más