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 :

RPC & GWT


Sujet :

GWT et Vaadin Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 3
    Par défaut RPC & GWT
    Bonsoir,
    je suis nouveau dans le monde de GWT et RPC j'ai le code suivant et lors de l'execution il m'affiche toujours le traitement du cas d'échec

    fichier AdministrateurService.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @RemoteServiceRelativePath("administrateurservice")
    public interface AdministrateurService extends RemoteService {
    	public String sayHello (String name);
    }
    fichier AdministrateurServiceAsync.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public interface AdministrateurServiceAsync {
      	 public void sayHello (String name, AsyncCallback<String> callback);
    }
    fichier AdministrateurServiceImpl.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class AdministrateurServiceImpl extends RemoteServiceServlet implements AdministrateurService {
    	@Override
    	public String sayHello(String name) {
    		return "Hello " + name + "!";
    	}
    }
    fichier ImageViewer.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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    public class ImageViewer implements EntryPoint {
    	private Button clickMeButton;
    	AdministrateurServiceAsync adminService = (AdministrateurServiceAsync) GWT.create(AdministrateurService.class);
    	public void onModuleLoad() {
    		RootPanel rootPanel = RootPanel.get();		
    		clickMeButton = new Button("Click me!",new SelectionListener<ButtonEvent>() {
                @Override
                public void componentSelected(ButtonEvent ce) {
                	adminService.sayHello("Hello World!!!", new AsyncCallback<String>() {
                		public void onFailure (Throwable caught) {
                			// Traitement en cas d'erreur
                			Window.alert("Failed!!!");
                		} 
     
                		public void onSuccess (String result) {
                			// Traitement en cas de succès
                			Window.alert ((String) result);
                		} 
               	});
                		}
    		}) {
    		};
    		rootPanel.add(clickMeButton);	
    	}
    }
    fichier ImageViewer.gwt.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <module>
    	<inherits name="com.google.gwt.user.User"/>
    	<inherits name="com.google.gwt.user.theme.standard.Standard"/>	
    	<inherits name="com.mycompany.project.ImageViewer"/>
    	<inherits name="com.extjs.gxt.ui.GXT"/>
    	<entry-point class="com.mycompany.project.client.ImageViewer"/>
    	<servlet path="/AdministrateurService" class='com.mycompany.project.server.AdministrateurServiceImpl' />
    </module>
    fichier web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <web-app>
    <servlet> <servlet-name>administrateurServiceImpl</servlet-name> 
    	<servlet-class>com.mycompany.project.server.AdministrateurServiceImpl</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    	<servlet-name>administrateurServiceImpl</servlet-name>
    	<url-pattern>/com.mycompany.project.ImageViewer/AdministrateurService</url-pattern> 
    </servlet-mapping>
    	<!-- Default page to serve -->
    	<welcome-file-list>
    		<welcome-file>ImageViewer.html</welcome-file>
    	</welcome-file-list>
     
    </web-app>
    Aidez moi SVP

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 165
    Par défaut
    Tu dois avoir un log quelque part.

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 3
    Par défaut
    Citation Envoyé par galel Voir le message
    Tu dois avoir un log quelque part.
    Merci pour votre réponse, mais pouvez vous m'expliquez

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 165
    Par défaut
    Si l'appel asynchrone "échoue" il devrait y avoir un log (stracktrace java) dans la console d'eclipse.

    Si ce n'est pas le cas, il serait sans doute intéressant de mettre un breakpoint dans la méthode sayHello de AdministrateurServiceImpl afin de voir si l'appel se fait correctement.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <servlet> <servlet-name>administrateurServiceImpl</servlet-name> 
    	<servlet-class>com.mycompany.project.server.AdministrateurServiceImpl</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    	<servlet-name>administrateurServiceImpl</servlet-name>
    	<url-pattern>/com.mycompany.project.ImageViewer/AdministrateurService</url-pattern> 
    </servlet-mapping>
    Il me semble que c'est "case sensitive " et qu'il faudrait mettre administrateurservice en lieu et place de AdministrateurService dans l'url pattern

  5. #5
    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
    Il faudrait des logs d'erreurs pour t'en dire plus.

    Comme dans l'annotation, tu as mis :
    @RemoteServiceRelativePath("administrateurservice")
    Tu dois mettre la même chose dans le web.xml.

    Tu peux ajouter un alias au module pour simplifier son nom.

    Dans ton module gwt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <module rename-to="ImageViewer">

    Dans ton web.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <servlet-mapping> 
    	<servlet-name>administrateurServiceImpl</servlet-name>
    	<url-pattern>/ImageViewer/administrateurservice</url-pattern> 
    </servlet-mapping>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Principe de RPC en GWT
    Par titititiangel dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 04/04/2013, 15h09
  2. Synchroniser l'appel RPC dans GWT
    Par sabrina_sab dans le forum GWT et Vaadin
    Réponses: 5
    Dernier message: 13/02/2013, 19h57
  3. GWT rpc générer un fichier XML
    Par slimArafa dans le forum GWT et Vaadin
    Réponses: 7
    Dernier message: 17/08/2009, 17h40
  4. GWT-RPC, sécurité et serveur "clusterisé"
    Par ndeloof dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 09/07/2008, 20h31
  5. GWT/RPC sérialization d'objet
    Par amarige dans le forum GWT et Vaadin
    Réponses: 6
    Dernier message: 08/05/2008, 19h52

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