Tôi đang cố gắng sử dụng api Blobstore cho appengine bằng GWT ... Tôi hứa với bạn! Tôi đã có nó làm việc trong nhiều tháng và đột nhiên tôi bắt đầu có được các lỗi sau .. arfter thực hiện dòng sau đây từ một servelet.Lỗi GWT Blobstore gọi hàm createUploadUrl()
public class ImageServiceImpl kéo dài RemoteServiceServlet thực hiện 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";
. . . . . // bỏ qua cho ngắn gọn }
@Override
public String getUpLoadPath() {
String url = blobService.createUploadUrl("/n5/doimage");
return url;
}
}
Khởi tạo App Engine máy chủ 19 tháng 9 năm 2011 19:28:45 com.google.apphosting.utils.jetty.JettyLogger thông tin INFO: Đăng nhập vào JettyLogger (null) qua com.google.apphosting.utils.jetty.JettyLogger Ngày 19 tháng 9 năm 2011 7:28:45 PM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml THÔNG TIN: Đã xử lý thành công C: \ development \ n5 \ n5 \ war \ WEB-INF/appengine-web.xml Ngày 19 tháng 9 năm 2011 7:28:45 PM com.google.apph osting.utils.config.AbstractConfigXmlReader readConfigXml THÔNG TIN: Đã xử lý thành công C: \ development \ n5 \ n5 \ war \ WEB-INF/web.xml Ngày 19 tháng 9 năm 2011 3:28:47 PM com.google.appengine.tools. development.DevAppServerImpl bắt đầu THÔNG TIN: Máy chủ đang chạy tại http://localhost:8888/ Ngày 19 tháng 9 năm 2011 7:34:59 PM com.google.appengine.tools.development.ApiProxyLocalImpl log SEVERE: javax.servlet.ServletContext log: Ngoại lệ khi gửi đi RPC gọi com.google.gwt.user.server.rpc.UnexpectedException: Phương thức dịch vụ 'public abstract java.lang.String com.six.n5.client.service.ImageService.getUpLoadPath()' đã ném một ngoại lệ không mong muốn: java. lang.VerifyError: class com.google.appengine.api.blobstore.BlobstoreServicePb $ CreateUploadURLYêu cầu ghi đè cuối cùng phương thức isInitialized.() Z tại com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure (RPC.java:385) tại com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse (RPC.java WEBC88) tại com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall (RemoteServiceServlet.java:208) tại com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost (RemoteServiceServlet.java:248) at com. google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost (AbstractRemoteServiceServlet.java:62) tại javax.servlet.http.HttpServlet.service (HttpServlet.java:637) tại javax.servlet.http.HttpServlet.service (HttpServlet.java:717) tại com.google.inject.servlet.ServletDefinition.doService (ServletDefinition.java:216) tại com.google.inject.servlet.ServletDefinition.service (ServletDefinition.java:141) tại com.google.inject.servlet.ManagedServletPipeline.service (ManagedServletPipeline.java:93) tại com.google.inject.servlet.FilterChainInvocation.doFilter (FilterChainInvocation.java:63) at com. google.inject.servlet.ManagedFilterPipeline.dispatch (ManagedFilterPipeline.java:122) tại com.google.inject.servlet.GuiceFilter.doFilter (GuiceFilter.java:110) tại org.mortbay.jetty.servlet.ServletHandler $ CachedChain. doFilter (ServletHandler.java:1157) tại com.google.appengine.tools.development.HeaderVerificationFilter.doFilter (HeaderVerificationFilter.java:35) tại org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java: 1157) tại com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter (ServeBlobFilter.java:58) tại org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1157) tại com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter (TransactionCleanupFilter.java: 43) tại org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1157) tại com.google.appengine.tools.development.StaticFileFilter.doFilter (StaticFileFilter.java:122) tại tổ chức. mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1157) tại com.google.appengine.tools.development.BackendServersFilter.doFilter (BackendServersFilter.java:97) tại org.mortbay.jetty.servlet. ServletHandler $ CachedChain.doFilter (ServletHandler.java:1157) tại org.mortbay.jetty.servlet.Servl etHandler.handle (ServletHandler.java:388) tại org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216) tại org.mortbay.jetty.servlet.SessionHandler.handle (SessionHandler.java:182) tại org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:765) tại org.mortbay.jetty.webapp.WebAppContext.handle (WebAppContext.java:418) tại com.google.apphosting.utils. jetty.DevAppEngineWebAppContext.handle (DevAppEngineWebAppContext.java:70) tại org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:152) tại com.google.appengine.tools.development.JettyContainerService $ ApiProxyHandler.handle (JettyContainerService.java:351) tại org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:152) tại org.mortbay.jetty.Server.handle (Server.java:326) tại org.mortbay.jetty.HttpConnection.handleRequest (HttpConnection.java WEBC42) tại org.mortbay.jetty.HttpConnection $ RequestHandler.content (HttpConnection.java:938) tại org.mortbay.jetty.HttpParser.parseNext (HttpParser.java:755) tại org.mortbay.jetty.HttpParser.parseAvailable (HttpParser.java:218) tại org.mortbay.jetty. HttpConnection.handle (HttpConnection.java:404) tại org.mortbay.io.nio.SelectChannelEndPoint.run (SelectChannelEndPoint.java:409) tại org.mortbay.thread.QueuedThreadPool $ PoolThread.run (QueuedThreadPool.java WEBC82) Gây ra bởi: java.lang.VerifyError: class com.google.appengine.api.blobstore.BlobstoreServicePb $ CreateUploadURLYêu cầu ghi đè phương thức cuối cùng làIniti alized.() Z tại java.lang.ClassLoader.defineClass1 (Phương thức Gốc) tại java.lang.ClassLoader.defineClass (Nguồn không xác định) tại java.security.SecureClassLoader.defineClass (Nguồn không xác định) tại java.net. URLClassLoader.defineClass (Unknown Source) tại java.net.URLClassLoader.access $ 100 (Unknown Source) tại java.net.URLClassLoader $ 1.run (Unknown Source) tại java.net.URLClassLoader $ 1.run (Unknown Source) tại java.security.AccessController.doPrivileged (Phương thức Gốc) tại java.net.URLClassLoader.findClass (Nguồn không xác định) tại java.lang.ClassLoader.loadClass (Nguồn không xác định) tại com.google.appengine.tools.development. IsolatedAppClassLoader.loadClass (IsolatedA ppClassLoader.java:176) tại java.lang.ClassLoader.loadClass (Nguồn không xác định) tại com.google.appengine.api.blobstore.BlobstoreServiceImpl.createUploadUrl (BlobstoreServiceImpl.java:43) tại com.google.appengine.api .blobstore.BlobstoreServiceImpl.createUploadUrl (BlobstoreServiceImpl.java:34) tại com.six.n5.server.ImageServiceImpl.getUpLoadPath (ImageServiceImpl.java:153) tại sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) lúc mặt trời. reflect.NativeMethodAccessorImpl.invoke (Nguồn không rõ) tại sun.reflect.DelegatingMethodAccessorImpl.invoke (Nguồn không xác định) tại java.lang.reflect.Method.invoke (Nguồn không xác định) tại com.google.appengine.tools.development.agent .runtime.Runtime.invoke (Thời gian chạy.java: 100) tại com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse (RPC.java WEBC69) ... 39 khác