IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GWT et Vaadin Java Discussion :

[DEPLACER]RPC JAVA.IO Access denied


Sujet :

GWT et Vaadin Java

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 34
    Par défaut [DEPLACER]RPC JAVA.IO Access denied
    Bonjour à tous,

    Je débute en Java et bien entendu en GWT. J'ai un soucis certainement de compréhension sur l'ouverture d'un fichier binaire côté serveur avec Java.io en passant par un appel RPC.

    Je souhaite ouvrir mon fichier binaire et récupérer son contenu dans un tableau.

    Voici mon code côté client :

    Projet.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public void open(){
            openservice.BinServer( new AsyncCallback <int[]>(){
                public void onFailure(Throwable caught) {
                       // TODO Auto-generated method stub
    	        Window.alert("Fail!"+caught);
               }
               public void onSuccess(int[] result) {
                 // TODO Auto-generated method stub
                 plot=result;
                 Window.alert(plot[0]+"");
               }
            });
    }

    BinaryOpenerAsync.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    import com.google.gwt.user.client.rpc.AsyncCallback;
     
    /**
     * The async counterpart of <code>BinaryOpener</code>.
     */
    public interface BinaryOpenerAsync {
    	void BinServer(AsyncCallback <int[]> callback);
    }
    BinaryOpener.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    import com.google.gwt.user.client.rpc.RemoteService;
    import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
     
    /**
     * The client side stub for the RPC service.
     */
    @RemoteServiceRelativePath("greet")
    public interface BinaryOpener extends RemoteService {
    	int[] BinServer();
    }
    Côté serveur, mon implémentation pour ouvrir le fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    import fr.maboite.monprojet.client.BinaryOpener;
    import com.google.gwt.user.client.Window;
    import com.google.gwt.user.server.rpc.RemoteServiceServlet;
     
    import java.io.*;
    /**
     * The server side implementation of the RPC service.
     */
     
    public class BinaryOpenerImpl extends RemoteServiceServlet implements
      BinaryOpener {
         public int[] BinServer(){
              int[] plot={42}; //en attendant une meilleur déclaration
              try{
    	      FileInputStream file_input = new FileInputStream ("C://GWT//work//fichier.ECG");
                     DataInputStream data_in    = new DataInputStream (file_input );
    	      int i=0;
                     while (true) {
    		try {
    		plot[i]=data_in.readInt();
    		i++;
    		}catch (EOFException eof) {
    		Window.alert("End of File");
    		break;
    		}
    			}
    		    // Fermeture du fichier
    		    data_in.close();
    		}catch (IOException e){
    			Window.alert("Erreur de chargement");
    		}
     
    		return plot;  
    	}
    }


    Les insultes de la console
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    SEVERE: [1274887288433000] javax.servlet.ServletContext log: Exception while dispatching incoming RPC call
    com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract int[] fr.maboite.monprojet.client.BinaryOpener.BinServer()' threw an unexpected exception: java.security.AccessControlException: access denied (java.io.FilePermission C:\GWT\work\fichier.ECG read)
    	at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:378)
    	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:581)
    	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:188)
    	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:224)
    	at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
    	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:511)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
    	at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:51)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    	at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    	at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
    	at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:349)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.Server.handle(Server.java:326)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
    	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
    	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
    Caused by: java.security.AccessControlException: access denied (java.io.FilePermission C:\GWT\work\fichier.ECG read)
    ...
    Précision : je développe sous l'IDE eclipse avec le plug-in qui va bien.
    Mon appel RPC fonctionne correctement, si j'ouvre pas le fichier, je récupére bien la première valeur de mon tableau initié côté serveur.
    Pour le problème d'accès j'ai été bidouillé un peu le fichier java.policy mais sans succès...

    Voilà merci aux courageux de m'avoir lu.

    Ce projet, pour un débutant en prog c'est peu apprendre à courrir sans apprendre à marcher

    Merci d'avance pour les futurs réponses !

  2. #2
    Membre chevronné
    Profil pro
    Lead Tech Agile
    Inscrit en
    Septembre 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Lead Tech Agile

    Informations forums :
    Inscription : Septembre 2004
    Messages : 316
    Par défaut
    Il s'agit d'un problème de pure java. Tu aurais mieux fait de poster ce message dans le forum Java "Général Java / débuter", tu auras peut être plus d'aide qu'ici.

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 34
    Par défaut
    ok merci je vais faire ça

  4. #4
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Par défaut
    C'est clair comme erreur, ta servlet n'arrive pas à accéder à ton fichier : C:\GWT\work\fichier.ECG

    Tu développes sous quel OS ?
    Est-ce que le process Java de ton serveur d'application (Jetty, Tomcat ...) a le droit d'accéder à C:\GWT\work\fichier.ECG

Discussions similaires

  1. [JAVA/GWT] RPC Java.io access denied
    Par blackbird67 dans le forum GWT et Vaadin
    Réponses: 6
    Dernier message: 01/02/2011, 14h57
  2. access denied (java.util.PropertyPermission java.io.tmpdir read)
    Par benyboyJAVA dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 12/01/2009, 11h12
  3. java.security.AccessControlException: access denied
    Par mcmazigh dans le forum Applets
    Réponses: 1
    Dernier message: 25/08/2008, 17h11
  4. java.security.AccessControlException: access denied
    Par ludonantes dans le forum Applets
    Réponses: 10
    Dernier message: 28/03/2006, 17h44
  5. Réponses: 2
    Dernier message: 27/03/2006, 17h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo