Hi Kard,

Writing to files is not supported on App Engine, check out this FAQ:
http://code.google.com/appengine/kb/java.html#writefile

jason


On Fri, May 8, 2009 at 11:29 AM, Kard Raven <[email protected]> wrote:
>
> Good morning,
>
>
> I'm using Google Web Toolkit for two weeks, and now, i'm trying to
> make my own applications.
> However, there is something wrong with the last one :
>
>
>
> I have made a client part, and a server part.
>
> Client part's code :
>
> public class project implements EntryPoint {
>
>
>        public void onModuleLoad() {
>
>                GreetingServiceAsync service = (GreetingServiceAsync) 
> GWT.create
> (GreetingService.class);
>                ((ServiceDefTarget) service).setServiceEntryPoint
> (GWT.getModuleBaseURL () + "server");
>                service.createXML (new AsyncCallback () {
>                        public void onFailure (Throwable caught) {
>                                // Traitement en cas d'erreur
>                        } // onFailure ()
>
>                        public void onSuccess (Object result) {
>                                // Traitement en cas de succès
>                                Window.alert ((String) result);
>                        } // onFailure ()
>                });
>
>        }
> }
>
>
>
> Code of "GreetingService.java" :
>
> public interface GreetingService extends RemoteService {
>        String greetServer(String name);
>        public void createXML ();
> }
>
>
> Code of "GreetingServiceAsync.java" :
>
> public interface GreetingServiceAsync {
>        void greetServer(String input, AsyncCallback<String> callback);
>        public void createXML (AsyncCallback callback);
> }
>
>
> Server part's code :
>
> public class GreetingServiceImpl extends RemoteServiceServlet
> implements GreetingService{
>        public void createXML () {
>
>                File file = new File("test.xml");
>                try {
>                        file.createNewFile();
>                } catch (IOException e) {
>                        // TODO Auto-generated catch block
>                        e.printStackTrace();
>                }
>
>
>
>        }
>
>        public String greetServer(String name) {
>                // TODO Auto-generated method stub
>                return null;
>        }
>
>
>
> }
>
>
>
>
> When I finally run the application in hosted mode, I get :
>
> com.google.appengine.tools.development.ApiProxyLocalImpl log
> SEVERE: [1241796266968000] javax.servlet.ServletContext log: Exception
> while dispatching incoming RPC call
> com.google.gwt.user.server.rpc.UnexpectedException: Service method
> 'public abstract void
> com.project.project.client.GreetingService.createXML()' threw an
> unexpected exception: java.security.AccessControlException: access
> denied (java.io.FilePermission test.xml write)
>        at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure
> (RPC.java:360)
>        at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse
> (RPC.java:546)
>        at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall
> (RemoteServiceServlet.java:166)
>        at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost
> (RemoteServiceServlet.java:86)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
>        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.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.utils.jetty.DevAppEngineWebAppContext.handle
> (DevAppEngineWebAppContext.java:54)
>        at org.mortbay.jetty.handler.HandlerWrapper.handle
> (HandlerWrapper.java:139)
>        at com.google.appengine.tools.development.JettyContainerService
> $ApiProxyHandler.handle(JettyContainerService.java:306)
>        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.content
> (HttpConnection.java:844)
>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644)
>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205)
>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
>        at org.mortbay.io.nio.SelectChannelEndPoint.run
> (SelectChannelEndPoint.java:396)
>        at org.mortbay.thread.BoundedThreadPool$PoolThread.run
> (BoundedThreadPool.java:442)
> Caused by: java.security.AccessControlException: access denied
> (java.io.FilePermission test.xml write)
>        at java.security.AccessControlContext.checkPermission(Unknown Source)
>        at java.security.AccessController.checkPermission(Unknown Source)
>        at java.lang.SecurityManager.checkPermission(Unknown Source)
>        at com.google.appengine.tools.development.DevAppServerFactory
> $CustomSecurityManager.checkPermission(DevAppServerFactory.java:76)
>        at java.lang.SecurityManager.checkWrite(Unknown Source)
>        at java.io.File.createNewFile(Unknown Source)
>        at com.project.project.server.GreetingServiceImpl.createXML
> (GreetingServiceImpl.java:35)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>        at java.lang.reflect.Method.invoke(Unknown Source)
>        at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse
> (RPC.java:527)
>        ... 25 more
>
>
>
>
>
>
> I really don't know what I can do to create this file, I have heard
> about editing java.policy, but it doesn't work.
>
> Thank you for helping me, and excuse me if my english is not very well
> (I'm french).
>
>
> Regards,
> Kard.
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to