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
-~----------~----~----~----~------~----~------~--~---

Reply via email to