gpt4 book ai didi

GWT Blobstore 调用 createUploadUrl() 时出错

转载 作者:行者123 更新时间:2023-12-02 10:33:39 24 4
gpt4 key购买 nike

我正在尝试使用 GWT 将 Blobstore api 用于 appengine ......
我答应你!我让它工作了几个月,突然间我开始了
得到以下错误.. 执行以下行后
一个小服务器。

公共(public)类 ImageServiceImpl 扩展 RemoteServiceServlet 实现 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";

.
.
.
.
.
//为简洁起见省略
}
    @Override
public String getUpLoadPath() {
String url = blobService.createUploadUrl("/n5/doimage");
return url;
}

}

初始化 App Engine 服务器
2011 年 9 月 19 日晚上 7:28:45 com.google.apphosting.utils.jetty.JettyLogger 信息
信息:通过 com.google.apphosting.utils.jetty.JettyLogger 登录到 JettyLogger(null)
2011 年 9 月 19 日下午 7:28:45 com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
信息:已成功处理 C:\development\n5\n5\war\WEB-INF/appengine-web.xml
2011 年 9 月 19 日晚上 7:28:45 com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
信息:成功处理 C:\development\n5\n5\war\WEB-INF/web.xml
2011 年 9 月 19 日下午 3:28:47 com.google.appengine.tools.development.DevAppServerImpl 开始
信息:服务器运行在 http://localhost:8888/
2011 年 9 月 19 日下午 7:34:59 com.google.appengine.tools.development.ApiProxyLocalImpl 日志
严重:javax.servlet.ServletContext 日志:调度传入的 RPC 调用时出现异常
com.google.gwt.user.server.rpc.UnexpectedException:服务方法“public abstract java.lang.String com.six.n5.client.service.ImageService.getUpLoadPath()”引发了意外异常:java.lang.VerifyError :类 com.google.appengine.api.blobstore.BlobstoreServicePb$CreateUploadURLRequest 覆盖 final方法 isInitialized.()Z
在 com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385)
在 com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588)
在 com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
在 com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
在 com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
在 javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
在 javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
在 com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:216)
在 com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:141)
在 com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93)
在 com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:63)
在 com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:122)
在 com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:110)
在 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
在 com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35)
在 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
在 com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:58)
在 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
在 com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
在 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
在 com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122)
在 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
在 com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97)
在 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
在 org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
在 org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
在 org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
在 org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
在 org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
在 com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70)
在 org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
在 com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:351)
在 org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
在 org.mortbay.jetty.Server.handle(Server.java:326)
在 org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
在 org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
在 org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
在 org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
在 org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
在 org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
在 org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
引起:java.lang.VerifyError: class com.google.appengine.api.blobstore.BlobstoreServicePb$CreateUploadURLRequest 覆盖 final方法 isInitialized.()Z
在 java.lang.ClassLoader.defineClass1(Native Method)
在 java.lang.ClassLoader.defineClass(Unknown Source)
在 java.security.SecureClassLoader.defineClass(Unknown Source)
在 java.net.URLClassLoader.defineClass(Unknown Source)
在 java.net.URLClassLoader.access$100(来源不明)
在 java.net.URLClassLoader$1.run(Unknown Source)
在 java.net.URLClassLoader$1.run(Unknown Source)
在 java.security.AccessController.doPrivileged(Native Method)
在 java.net.URLClassLoader.findClass(Unknown Source)
在 java.lang.ClassLoader.loadClass(来源不明)
在 com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:176)
在 java.lang.ClassLoader.loadClass(来源不明)
在 com.google.appengine.api.blobstore.BlobstoreServiceImpl.createUploadUrl(BlobstoreServiceImpl.java:43)
在 com.google.appengine.api.blobstore.BlobstoreServiceImpl.createUploadUrl(BlobstoreServiceImpl.java:34)
在 com.six.n5.server.ImageServiceImpl.getUpLoadPath(ImageServiceImpl.java:153)
在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
在 sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)
在 java.lang.reflect.Method.invoke(Unknown Source)
在 com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:100)
在 com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
... 39 更多

最佳答案

我发现了我自己的错误!事实证明,这突然失败的原因是因为 FORM 帖子认为这是跨域发布。我正在通过调用 127.0.0.1:8888..etc 来测试网站,但是当我的 Image RPC 被调用以建立上传路径时,它返回到表单 setAction 我的机器名称 kmoore-PC:8888..etc 而不是的 127.0.0.1:8888... 因此它返回 null 因为它认为它是跨域的。

要修复,请单击 url 栏中的 google 框并添加您的计算机名称,然后使用计算机名称而不是 127 来测试您的应用程序

关于GWT Blobstore 调用 createUploadUrl() 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7476420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com