Hi jay. Can you use Firebug or another tool to record the HTTP request issued by jQuery? POST requests are definitely supported by App Engine, and I haven't seen any other requests transformed in the way that you've described.
- Jason On Tue, Aug 25, 2009 at 4:58 AM, jay <jay...@gmail.com> wrote: > > Hi, Friends, > > My javascript (in one domain) invoke some functions from other > javascript (cross domain invoke), It is not working. > > > From the log, I found: > > 1. GAE changed the http requests from "post" to "options" > 2. GAE throws AccessControlException when he receives options > requests. > > > Following is a part of my source codes and log records.... > > > Anyone knows about this issue and can we do cross domain http invoke > on GAE? > > > > > jQuery.post(u, strJSON, function(data, status){ > var retObj = jQuery.parseJSON(data); > if (retObj.code == 0){ > alert(retObj.Object); > } else { > alert("fail"); > } > }); > > //****************************** logs from app engine > ******************************************************/ > > 1. > 08-25 03:29AM 26.941 /rpc/createComment.json 500 18ms 7cpu_ms > 0kb Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.2) Gecko/20090803 > Ubuntu/9.04 (jaunty) Shiretoko/3.5.2,gzip(gfe) > See details > > 123.243.83.221 - - [25/Aug/2009:03:29:26 -0700] "OPTIONS /rpc/ > createComment.json HTTP/1.1" 500 0 - "Mozilla/5.0 (X11; U; Linux i686; > en-US; rv:1.9.1.2) Gecko/20090803 Ubuntu/9.04 (jaunty) Shiretoko/ > 3.5.2,gzip(gfe)" "libcomment.appspot.com" > > 2. > W 08-25 03:29AM 26.950 > > /rpc/createComment.json > java.security.AccessControlException: access denied > (java.lang.RuntimePermission accessDeclaredMembers) > at java.security.AccessControlContext.checkPermission(Unknown > Source) > at java.security.AccessController.checkPermission(Unknown > Source) > at java.lang.SecurityManager.checkPermission(Unknown Source) > at java.lang.SecurityManager.checkMemberAccess(Unknown Source) > at java.lang.Class.checkMemberAccess(Unknown Source) > at java.lang.Class.getDeclaredMethods(Unknown Source) > at javax.servlet.http.HttpServlet.getAllDeclaredMethods > (HttpServlet.java:479) > at javax.servlet.http.HttpServlet.getAllDeclaredMethods > (HttpServlet.java:478) > at javax.servlet.http.HttpServlet.getAllDeclaredMethods > (HttpServlet.java:478) > at javax.servlet.http.HttpServlet.doOptions(HttpServlet.java: > 534) > at org.springframework.web.servlet.FrameworkServlet.doOptions > (FrameworkServlet.java:568) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) > at org.mortbay.jetty.servlet.ServletHolder.handle > (ServletHolder.java:487) > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter > (ServletHandler.java:1093) > at > com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter > (SaveSessionFilter.java:35) > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter > (ServletHandler.java:1084) > at > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter > (TransactionCleanupFilter.java:43) > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter > (ServletHandler.java:1084) > at org.mortbay.jetty.servlet.ServletHandler.handle > (ServletHandler.java:360) > at org.mortbay.jetty.security.SecurityHandler.handle > (SecurityHandler.java:216) > at org.mortbay.jetty.servlet.SessionHandler.handle > (SessionHandler.java:181) > at org.mortbay.jetty.handler.ContextHandler.handle > (ContextHandler.java:712) > at org.mortbay.jetty.webapp.WebAppContext.handle > (WebAppContext.java:405) > at > com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle > (AppVersionHandlerMap.java:237) > at org.mortbay.jetty.handler.HandlerWrapper.handle > (HandlerWrapper.java:139) > at org.mortbay.jetty.Server.handle(Server.java:313) > at org.mortbay.jetty.HttpConnection.handleRequest > (HttpConnection.java:506) > at org.mortbay.jetty.HttpConnection > $RequestHandler.headerComplete(HttpConnection.java:830) > at > com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable > (RpcRequestParser.java:76) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java: > 381) > at > > com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest > (JettyServletEngineAdapter.java:139) > at com.google.apphosting.runtime.JavaRuntime.handleRequest > (JavaRuntime.java:235) > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > $6.handleBlockingRequest(RuntimePb.java:4823) > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > $6.handleBlockingRequest(RuntimePb.java:4821) > at > com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest > (BlockingApplicationHandler.java:24) > at com.google.net.rpc.impl.RpcUtil.runRpcInApplication > (RpcUtil.java:359) > at com.google.net.rpc.impl.Server$2.run(Server.java:820) > at com.google.tracing.LocalTraceSpanRunnable.run > (LocalTraceSpanRunnable.java:56) > at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan > (LocalTraceSpanBuilder.java:516) > at com.google.net.rpc.impl.Server.startRpc(Server.java:775) > at com.google.net.rpc.impl.Server.processRequest(Server.java: > 348) > at com.google.net.rpc.impl.ServerConnection.messageReceived > (ServerConnection.java:436) > at com.google.net.rpc.impl.RpcConnection.parseMessages > (RpcConnection.java:319) > at com.google.net.rpc.impl.RpcConnection.dataReceived > (RpcConnection.java:290) > at com.google.net.async.Connection.handleReadEvent > (Connection.java:428) > at com.google.net.async.EventDispatcher.processNetworkEvents > (EventDispatcher.java:762) > at com.google.net.async.EventDispatcher.internalLoop > (EventDispatcher.java:207) > at com.google.net.async.EventDispatcher.loop > (EventDispatcher.java:101) > at com.google.net.rpc.RpcService.runUntilServerShutdown > (RpcService.java:251) > at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run > (JavaRuntime.java:374) > at java.lang.Thread.run(Unknown Source) > > 3. > C 08-25 03:29AM 26.955 > > Uncaught exception from servlet > java.security.AccessControlException: access denied > (java.lang.RuntimePermission accessDeclaredMembers) > at java.security.AccessControlContext.checkPermission(Unknown > Source) > at java.security.AccessController.checkPermission(Unknown > Source) > at java.lang.SecurityManager.checkPermission(Unknown Source) > at java.lang.SecurityManager.checkMemberAccess(Unknown Source) > at java.lang.Class.checkMemberAccess(Unknown Source) > at java.lang.Class.getDeclaredMethods(Unknown Source) > at javax.servlet.http.HttpServlet.getAllDeclaredMethods > (HttpServlet.java:479) > at javax.servlet.http.HttpServlet.getAllDeclaredMethods > (HttpServlet.java:478) > at javax.servlet.http.HttpServlet.getAllDeclaredMethods > (HttpServlet.java:478) > at javax.servlet.http.HttpServlet.doOptions(HttpServlet.java: > 534) > at org.springframework.web.servlet.FrameworkServlet.doOptions > (FrameworkServlet.java:568) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) > at org.mortbay.jetty.servlet.ServletHolder.handle > (ServletHolder.java:487) > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter > (ServletHandler.java:1093) > at > com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter > (SaveSessionFilter.java:35) > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter > (ServletHandler.java:1084) > at > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter > (TransactionCleanupFilter.java:43) > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter > (ServletHandler.java:1084) > at org.mortbay.jetty.servlet.ServletHandler.handle > (ServletHandler.java:360) > at org.mortbay.jetty.security.SecurityHandler.handle > (SecurityHandler.java:216) > at org.mortbay.jetty.servlet.SessionHandler.handle > (SessionHandler.java:181) > at org.mortbay.jetty.handler.ContextHandler.handle > (ContextHandler.java:712) > at org.mortbay.jetty.webapp.WebAppContext.handle > (WebAppContext.java:405) > at > com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle > (AppVersionHandlerMap.java:237) > at org.mortbay.jetty.handler.HandlerWrapper.handle > (HandlerWrapper.java:139) > at org.mortbay.jetty.Server.handle(Server.java:313) > at org.mortbay.jetty.HttpConnection.handleRequest > (HttpConnection.java:506) > at org.mortbay.jetty.HttpConnection > $RequestHandler.headerComplete(HttpConnection.java:830) > at > com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable > (RpcRequestParser.java:76) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java: > 381) > at > > com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest > (JettyServletEngineAdapter.java:139) > at com.google.apphosting.runtime.JavaRuntime.handleRequest > (JavaRuntime.java:235) > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > $6.handleBlockingRequest(RuntimePb.java:4823) > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > $6.handleBlockingRequest(RuntimePb.java:4821) > at > com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest > (BlockingApplicationHandler.java:24) > at com.google.net.rpc.impl.RpcUtil.runRpcInApplication > (RpcUtil.java:359) > at com.google.net.rpc.impl.Server$2.run(Server.java:820) > at com.google.tracing.LocalTraceSpanRunnable.run > (LocalTraceSpanRunnable.java:56) > at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan > (LocalTraceSpanBuilder.java:516) > at com.google.net.rpc.impl.Server.startRpc(Server.java:775) > at com.google.net.rpc.impl.Server.processRequest(Server.java: > 348) > at com.google.net.rpc.impl.ServerConnection.messageReceived > (ServerConnection.java:436) > at com.google.net.rpc.impl.RpcConnection.parseMessages > (RpcConnection.java:319) > at com.google.net.rpc.impl.RpcConnection.dataReceived > (RpcConnection.java:290) > at com.google.net.async.Connection.handleReadEvent > (Connection.java:428) > at com.google.net.async.EventDispatcher.processNetworkEvents > (EventDispatcher.java:762) > at com.google.net.async.EventDispatcher.internalLoop > (EventDispatcher.java:207) > at com.google.net.async.EventDispatcher.loop > (EventDispatcher.java:101) > at com.google.net.rpc.RpcService.runUntilServerShutdown > (RpcService.java:251) > at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run > (JavaRuntime.java:374) > at java.lang.Thread.run(Unknown Source) > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-java@googlegroups.com To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en -~----------~----~----~----~------~----~------~--~---