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

API standards et tierces Android Discussion :

Problème web service org.Restlet.resource.ClientResource


Sujet :

API standards et tierces Android

  1. #1
    Membre éclairé Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Par défaut Problème web service org.Restlet.resource.ClientResource
    Salut
    Je suis entrain de suivre un tuto sur web service en android, et là j'arrive pas à savoir pourquoi la classe "org.restlet.resource.ClientResource" n'est pas trouvé alors que j'ai correctement mis la librairie restlet indiquée dans le tuto et j'ai meme ajouté d'autre lorsque j'ai eu l'erreur mais en vain..
    voici le tuto http://nbenbourahla.developpez.com/t...let-objectify/
    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
    package com.tuto.android.gae.model;
     
    import java.util.List;
     
     
    import org.restlet.resource.ClientResource;
     
    import android.util.Log;
     
    public class UserController {
        public final ClientResource cr = new ClientResource(
    	    EngineConfiguration.gae_path + "/rest/user");
     
        public UserController() {
    	EngineConfiguration.getInstance();
        }
     
        public void create(User user) throws Exception {
    	final UserControllerInterface uci = cr
    		.wrap(UserControllerInterface.class);
     
    	try {
    	    uci.create(user);
    	    Log.i("UserController", "Creation success !");
    	} catch (Exception e) {
    	    Log.i("UserController", "Creation failed !");
    	    throw e;
    	}
        }
     
        public List<User> getAllUsers() {
    	final UserControllerInterface uci = cr
    		.wrap(UserControllerInterface.class);
    	Container content = uci.getAllUsers();
    	return content.getUser_list();
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    01-26 18:32:55.615: E/dalvikvm(26508): Could not find class 'org.restlet.resource.ClientResource', referenced from method com.tuto.android.gae.model.UserController.<init>
    01-26 18:32:55.625: E/AndroidRuntime(26508): java.lang.NoClassDefFoundError: org.restlet.resource.ClientResource
    01-26 18:32:55.625: E/AndroidRuntime(26508): 	at com.tuto.android.gae.model.UserController.<init>(UserController.java:10)
    Ce qui est étrange c'est que si la classe ne se trouve pas, normalement j'aurai une erreur déja dans le code lorsque je fais l'import import org.restlet.resource.ClientResource;
    J'ai beau cherché sur le net une solution mais tous ceux qui ont eu ce problème n'ont pas eu de réponse
    Pouvez vous m-aider?
    Merci

  2. #2
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 970
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 970
    Par défaut
    Peut-être un problème de copy/paste?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    final UserControllerInterface uci = cr
    		.wrap(UserControllerInterface.class);

  3. #3
    Membre éclairé Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Par défaut
    Citation Envoyé par hotcryx Voir le message
    Peut-être un problème de copy/paste?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    final UserControllerInterface uci = cr
    		.wrap(UserControllerInterface.class);
    Je n'ai pas bien compris; l'appel de cette partie de code est dans chaque méthode à part donc c'est pas une faute de duplication, non?

  4. #4
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 970
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 970
    Par défaut
    ça ne devrait pas être cr.wrap...?

  5. #5
    Membre éclairé Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Par défaut
    Citation Envoyé par hotcryx Voir le message
    ça ne devrait pas être cr.wrap...?
    si c'est le cas, comment corriger?
    Dans le tutoriel le rédacteur à écris:
    UserController:
    On Crée un client ressource dans lequel on instancie le lien vers notre webservice qu’on a défini dans le serveur (cf web.xml et RestletDispatcher)
    On instancie le EngineConfiguration dans le constructeur
    Il faut toujours faire un wrap de l’interface avant d’appeler la méthode souhaitée
    Le reste parle de lui même

  6. #6
    Membre éclairé Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Par défaut
    J'ai fais quelques modifications (ajouter dossier libs qui contient les memes librairies que le dossier "lib") et je n'ai plus de problème au niveau de la classe ClientResource. Cependant l'ajout d'un utilisateur ne s'effectue pas (sans aucun message d'erreur)
    voila le code qui retourne l'information d'echec création:
    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
    package com.tuto.android.gae.model;
     
    import java.util.List;
     
    import org.restlet.resource.ClientResource;
     
    import android.util.Log;
     
    public class UserController {
        public final ClientResource cr = new ClientResource(
    	    EngineConfiguration.gae_path + "/rest/user");
     
        public UserController() {
    	EngineConfiguration.getInstance();
        }
     
        public void create(User user) throws Exception {
    	final UserControllerInterface uci = cr
    		.wrap(UserControllerInterface.class);
     
    	try {
    	    uci.create(user);
    	    Log.i("UserController", "Creation success !");
    	} catch (Exception e) {
    	    Log.i("UserController", "Creation failed !");
    	    throw e;
    	}
        }
     
        public List<User> getAllUsers() {
    	final UserControllerInterface uci = cr
    		.wrap(UserControllerInterface.class);
    	Container content = uci.getAllUsers();
    	return content.getUser_list();
        }
    }
    logcat retourne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Starting the HTTP Client
    creation failed

  7. #7
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 970
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 970
    Par défaut
    As-tu testé tes services en local?

  8. #8
    Membre éclairé Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Par défaut
    Citation Envoyé par hotcryx Voir le message
    As-tu testé tes services en local?
    non je ne l'ai pas fais. Comment le faire?? avec wamp (ou easyPhp)??Tomcat??

  9. #9
    Membre éclairé Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Par défaut
    Une telle erreur de LogCat ça veut dire quoi? merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length

  10. #10
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 970
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 970
    Par défaut
    Tu peux certainement tester en publiant en local et en ouvrant un browser (http://localhost/TonServiceWeb).
    Tu devras changer ta config (connection string, end point URL...).

    On teste tous les web services de cette manière, je ne crois pas que Google va faire autrement

    Je ne sais pas ce que c'est ton SPAN object (un span html?).
    Tu dois peut-être le définir.
    Ne serait-ce pas un attribut!

  11. #11
    Membre éclairé Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Par défaut
    Je pense que c'est un problème du serveur puisque parfois l'ajout d'un utilisateur fonctionne parfois non, comme aussi la récupération de la liste des utilisateurs parfois fonctionne parfois non, ce qui signifie que y'a pas de problèmes coté code (développement) n'est ce pas?
    Merci

  12. #12
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 970
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 970
    Par défaut
    Ca m'étonnerait que les serveurs Google (dédiés au cloud) ne répondent pas

    Essaye un appel de service très court et appelle le souvent pour voir les délais.

  13. #13
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2
    Par défaut
    Bonjour,

    Je suis le même tutoriel et j'obtiens la même erreur.

    Vu que tu as mis le sujet comme étant "résolu", comment as-tu fait pour résoudre le problème?

    Merci d'avance!

  14. #14
    Nouveau candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Par défaut Bonsoir
    ça fait 2 jours que j'ai le meme problème.

    prière de m'aider

  15. #15
    Invité de passage
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 1
    Par défaut
    Bonjour,
    Comment avez vous résolu svp ? car j'ai exactement le même problème.

    Merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/08/2012, 13h21
  2. problème Web Services
    Par jguyard dans le forum Flex
    Réponses: 0
    Dernier message: 16/01/2008, 17h19
  3. [Web Service][SOAP] Problème Web Service
    Par goddet dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 10/10/2007, 10h12
  4. Problème Web service : C# - IIS 6.0 - windows server 2003
    Par identifiant_bidon dans le forum Services Web
    Réponses: 3
    Dernier message: 20/04/2007, 16h33
  5. [Kylix] problème web service kylix
    Par RezzA dans le forum EDI
    Réponses: 3
    Dernier message: 11/02/2003, 14h50

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