在Google App Engine 500错误中,它应该是200而不是500 [英] on Google App Engine 500 Error, it should be 200 instead of 500
本文介绍了在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屋!
查看全文