在Google App Engine 500错误中,它应该是200而不是500 [英] on Google App Engine 500 Error, it should be 200 instead of 500

查看:76
本文介绍了在Google App Engine 500错误中,它应该是200而不是500的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  requestToken = function(){
var getTokenURI ='/ gettoken?userid ='+ userid;
var httpRequest = makeRequest(getTokenURI,true);

httpRequest.onreadystatechange = function(){
if(httpRequest.readyState == 4){
if(httpRequest.status == 200){
openChannel httpRequest.responseText);
} else {
alert('ERROR:AJAX request status ='+ httpRequest.status);
}
}
}
};

函数makeRequest(url,async){
var httpRequest;
if(window.XMLHttpRequest){

httpRequest = new XMLHttpRequest();

} else if(window.ActiveXObject){
// IE
try {

httpRequest = new ActiveXObject(Msxml2.XMLHTTP);
$ b} catch(e){
try {

httpRequest = new ActiveXObject(Microsoft.XMLHTTP); $!
$ b} catch(e){
}
}
}

if(!httpRequest){

返回false;
}

httpRequest.open('POST',url,async);
httpRequest.send();

返回httpRequest;
}

它在本地主机上运行良好...但在谷歌应用程序引擎中,httpRequest .status等于500并进入其他语句。
为什么?



在Google应用引擎上登录:

  / getFriendList?userid = d 500 253ms 0kb Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.11(KHTML,如Gecko)Chrome / 23.0.1271.97 Safari / 537.11 
175.110.179.86 - - [17 / Dec / 2012:08:35:33 -0800]POST / getFriendList?userid = d HTTP / 1.1500 0http://faisalimmsngr.appspot.com/Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.11(KHTML,像Gecko)Chrome / 23.0.1271.97 Safari / 537.11faisalimmsngr.appspot.comms = 254 cpu_ms = 110 instance = 00c61b117caf2d11ca57d2a2296ccd0b902b038a
W 2012-12-17 08:35:33.272
上下文启动失败com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext@10ff62a {/,/ base / data / home / apps / s〜faisalimmsngr / 1.363934467542140431}
org.mortbay.util.MultiException [java。 lang.UnsupportedClassVersionError:adv / web / mid / exam / FriendServlet:不支持的major.minor版本51.0,java.lang.UnsupportedClassVersionError:adv / web / mid / exam / MessageServlet:不支持的m ajor.minor version 51.0,java.lang.UnsupportedClassVersionError:adv / web / mid / exam / TokenServlet:Unsupported major.minor version 51.0]
at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
at org .mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
,位于com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:219)
,位于com.google.apphosting .runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:194)
,位于com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:134)
at com.google.apphosting.runtime.JavaRuntime $ RequestRunnable.run(JavaRuntime.java:447)
com.google.tracing.TraceContext $ TraceContextRunnable.runInContext(TraceContext.java:454)
at com .google.tracing.TraceContext $ TraceContextRunnable $ 1.run(TraceContext.java:461)
,位于com.google.tracing.TraceContext.runInContext(TraceContext.java:703)
,位于com.google.tracing。 TraceContext $ AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:338)
,位于com.google.tracing.TraceContext $ AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:330)
,位于com.google.tracing.TraceContext $ TraceContextRunnable。运行(TraceContext.java:458)
at com.google.apphosting.runtime.ThreadGroupPool $ PoolEntry.run(ThreadGroupPool.java:251)
at java.lang.Thread.run(Thread.java: 679)
java.lang.UnsupportedClassVersionError:adv / web / mid / exam / FriendServlet:不受支持的major.minor版本51.0
,位于com.google.appengine.runt ime.Request.process-c04431eac3a1f275(Request.java)$ b $在java.lang.ClassLoader.defineClass1(本地方法)$ b $在java.lang.ClassLoader.defineClass(ClassLoader.java:634)
在java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source )
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)$ b $ at java.lang.reflect.Method.invoke(Method.java:616)
at java.lang。 ClassLoader.loadClass(ClassLoader.java:266)
at org.mortbay.util.Loader.loadClass(Loader.java:91)
at org.mortbay.util.Loader.loadClass(Loader.java: 71)
at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:73)
at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:242)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at org。 mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at org.mortbay.jetty。 webapp.WebAppContext.doStart(WebAppContext.java:467)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at com.google.tracing.TraceContext $ TraceContextRunnable.runInContext( TraceContext.java:454)
,位于com.google.tracing.TraceContext $ TraceContextRunnable $ 1.run(TraceContext.java:461)
,位于com.google.tracing.TraceContext.runInContext(TraceContext.java:703 )com.google.tracing.TraceContext上的
$ AbstractTraceContextCallback.runInInherherContextNoUnref(TraceContext.java:338)$ com com.google.tracing.TraceContext上的
$ AbstractTraceContextCallback.runInInheritedContext (TraceContext.java:330)
在com.google.tracing.TraceContext $ TraceContextRunnable.run(TraceContext.java:458)
在java.lang.Thread.run(Thread.java:679)


解决方案

这是因为您使用JDK 7.您应该使用JDK 6。

requestToken = function() {
    var getTokenURI = '/gettoken?userid=' + userid;
    var httpRequest = makeRequest(getTokenURI, true);

    httpRequest.onreadystatechange = function() {
        if (httpRequest.readyState == 4) {
            if (httpRequest.status == 200) {
                openChannel(httpRequest.responseText);
            } else {
                alert('ERROR: AJAX request status = ' + httpRequest.status);
            }
        }
    }
};

function makeRequest(url, async) {
    var httpRequest;
    if (window.XMLHttpRequest) {

        httpRequest = new XMLHttpRequest();

    } else if (window.ActiveXObject) {
        // IE
        try {

            httpRequest = new ActiveXObject("Msxml2.XMLHTTP");

        } catch (e) {
            try {

                httpRequest = new ActiveXObject("Microsoft.XMLHTTP");

            } catch (e) {
            }
        }
    }

    if (!httpRequest) {

        return false;
    }

    httpRequest.open('POST', url, async);
    httpRequest.send();

    return httpRequest;
}

it is running excellent on localhost...but on google app engine it httpRequest.status equals 500 and goes in else statement. WHY?

LOG on google app engine:

/getFriendList?userid=d 500 253ms 0kb Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11
175.110.179.86 - - [17/Dec/2012:08:35:33 -0800] "POST /getFriendList?userid=d HTTP/1.1" 500 0 "http://faisalimmsngr.appspot.com/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11" "faisalimmsngr.appspot.com" ms=254 cpu_ms=110 instance=00c61b117caf2d11ca57d2a2296ccd0b902b038a
W 2012-12-17 08:35:33.272
Failed startup of context com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext@10ff62a{/,/base/data/home/apps/s~faisalimmsngr/1.363934467542140431}
org.mortbay.util.MultiException[java.lang.UnsupportedClassVersionError: adv/web/mid/exam/FriendServlet : Unsupported major.minor version 51.0, java.lang.UnsupportedClassVersionError: adv/web/mid/exam/MessageServlet : Unsupported major.minor version 51.0, java.lang.UnsupportedClassVersionError: adv/web/mid/exam/TokenServlet : Unsupported major.minor version 51.0]
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:656)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:219)
    at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:194)
    at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:134)
    at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:447)
    at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:454)
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:461)
    at com.google.tracing.TraceContext.runInContext(TraceContext.java:703)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:338)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:330)
    at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:458)
    at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251)
    at java.lang.Thread.run(Thread.java:679)
java.lang.UnsupportedClassVersionError: adv/web/mid/exam/FriendServlet : Unsupported major.minor version 51.0
    at com.google.appengine.runtime.Request.process-c04431eac3a1f275(Request.java)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
    at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    at org.mortbay.util.Loader.loadClass(Loader.java:91)
    at org.mortbay.util.Loader.loadClass(Loader.java:71)
    at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:73)
    at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:242)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:454)
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:461)
    at com.google.tracing.TraceContext.runInContext(TraceContext.java:703)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:338)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:330)
    at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:458)
    at java.lang.Thread.run(Thread.java:679)

解决方案

This happens because you use JDK 7. You should use JDK 6.

这篇关于在Google App Engine 500错误中,它应该是200而不是500的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆