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 :

Web service météo pour android


Sujet :

API standards et tierces Android

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut Web service météo pour android
    Bonjour, je suis en train de développez une application android au cours de laquelle j'ai besoin d 'un service météo soap.
    j'ai trouvé une sur le site www.webservicex.net
    J'ai envoyé mes paramètres à partir de mon emulateur mais je ne peux pas récupérer ma résultat : voilà une partie de mon code :

    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
    public static String URL ="http://www.webservicex.net/globalweather.asmx";
    	public static final String SOAP_ACTION = "http://www.webserviceX.NET/GetWeather";
    	public static final String METHOD_NAME = "GetWeather";
    	public static final String NAMESPACE = "www.webserviceX.NET";
     
     SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
             request.addProperty("CityName",tv1.getText().toString());
             request.addProperty("CountryName",tv2.getText().toString());      
              envelope.dotNet=true;     
              envelope.setOutputSoapObject(request);        
    		   AndroidHttpTransport     a = new AndroidHttpTransport (URL);  
    		        a.debug = true;
    try
          {       
                a.call(SOAP_ACTION, envelope);        	
           rest12 = envelope.getResponse().toString();
     
            }catch (Exception e){        
            ad.setMessage(e.getMessage());
            ad.show();  
            }

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    Et tu n'aurais pas un message d'erreur à nous montrer ou autres choses ?
    Parce sans informations complémentaires, ça va être dur de t'aider
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    Pour les messages de catch je n'ai pas de message. En effet j'ai testé deux cas pour vérifier que je n'ai pas de problème.
    La première j'ai affiché un Toast après res12 mais je n'ai pu afficher le message.
    La deuxième j 'ai affiché un Toast après un try catch et j'ai obtenu le message .
    J'ai développé de web service et je travaille avec elles sans aucune problème.
    Je pense que le résultat sous forme xml . mais je n'ai pas une idée sur la manipulation des xml sous android

  4. #4
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 115
    Points : 129
    Points
    129
    Par défaut
    qu'est ce qu'il y a dans rest12, parce que si ya pas d'erreur est qu'au moins le webservice renvoi ce qu'il faut ?
    Si oui alors pour du SOAP c'est du xml

    Ya un tuto IBM sympa ici

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    quand j'affiche rest12 il se bloque et rien de ne s'affiche. je veux essayé de parser rest12. je pense que c'est un string de forme xml. merci pour votre aide. quand j'arrive à un resultat je veux le publier en attendant que des personnes s'ils sont d'autres ideé

  6. #6
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 115
    Points : 129
    Points
    129
    Par défaut
    tu l'affiche comment ? on peut pas vraiment t'aider sans un bout de code.
    c'est effectivement une string au format XML (puisque t'utilise SOAP) donc il faut que tu parse ta string pour récupérer les données (le tuto est la pour ça t'en a un autre ici en Francais si c'est ça qui te gène)

    Je te conseille d'afficher dans le log t'as STring au moin pour voir ce qui il y a dedans :
    Edit : Bon voila le type de retour que t'obtiens

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?xml version="1.0" encoding="utf-16"?> 
    <CurrentWeather> 
          <Location>Gillam, Man., Canada (CYGX) 56-21N 094-42W 145M</Location> <Time>May 07, 2011 - 08:00 AM EDT / 2011.05.07 1200 UTC</Time>
         <Wind> from the E (090 degrees) at 10 MPH (9 KT):0</Wind>
         <Visibility> 15 mile(s):0</Visibility>
         <SkyConditions> mostly cloudy</SkyConditions>
         <Temperature> 37 F (3 C)</Temperature>
         <DewPoint> 17 F (-8 C)</DewPoint>
         <RelativeHumidity> 44%</RelativeHumidity>
         <Pressure> 30.19 in. Hg (1022 hPa)</Pressure>
         <Status>Success</Status>
    </CurrentWeather>
    Donc tu test si Status existe et si il est a success pour ça il faut que tu traitre tes données
    1ere methode DOM comme c'est t'expliquer dans le tuto ici
    ou bien tu peux utiliser une seconde methode SAX qui est traiter dans le tuto IBM

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    je sais que le valeur de retour j'ai déjà tester sur un client php.
    j'ai utilisé le log.d mais rien ne s'affiche.
    en effet l'interface devient un peu sombre
    !!!!!!!!!

  8. #8
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    voilà la reponse
    request time failed : java.net.SocketException : Adress family not supported by protocol

  9. #9
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 115
    Points : 129
    Points
    129
    Par défaut
    Ok, faudrait etre plus précis parce que qu'en tu dis ça
    La deuxième j 'ai affiché un Toast après un try catch et j'ai obtenu le message .
    Tu laisses penser que tu recupère bien les données or apparement si t'as une erreur de socket c'est pas possible. Et puis depuis le début on cherche une erreur qui a rien a voir (XML & co)

  10. #10
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    merci pour votre aide
    mais quand j'ai déjà dit que j'affiche un msj aprés try catch se pas le valeur de retour mais juste msg de test.
    je pense que j'ai il y a un problème de socket
    j'ai tester avec soap et http le même problème
    est ce que vous avez une solution ? autre que ça ? ...

  11. #11
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 115
    Points : 129
    Points
    129
    Par défaut
    Sur un autre site j'ai vus que pour le namespace ils utilisaient ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.webserviceX.NET/
    a la place de
    peux tu tester et regarder l'erreur du log stp

  12. #12
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    même problème ami

  13. #13
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    j'ai changé l’idée d'utiliser le web service de webservicex.net. En effet, j'ai crée un web service php qui contient une fonction qui fait appelle à cette web service . puis j'ai fait la communication avec android avec mon web service. normalement tout marche bien. Le resultat recupéré est "Array" .
    Normalement, le resultat sera dans un array non "array"
    Ou est ce que c'est un array xml qui je dois parser ?

  14. #14
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 115
    Points : 129
    Points
    129
    Par défaut
    si tu renvois exactement ce la repone sans rien chnger c'est du xml

  15. #15
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    ll me retourne juste le string "Array" une idée ???

  16. #16
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 115
    Points : 129
    Points
    129
    Par défaut
    je pense que ton web service fonctionne pas. Ton resultat est une String en XML ca c'est normal.
    A tu fais du SOAP ou REST parce que tu dois changer ton application si tu la fais en REST.

  17. #17
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    Enfin ça marche ...le problème était dans la valeur de retour de WS qui doit etre Array et non plus String ....

  18. #18
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2012
    Messages : 6
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par tlili_info Voir le message
    Enfin ça marche ...le problème était dans la valeur de retour de WS qui doit etre Array et non plus String ....
    S'il vous plait j'ai le méme erreur que le votre , j'ai crée un web service en php qui doit me retourner un array , puis je fais l'appel à partir d'un code java ( android) ; mais je n'obtiens que le mot "array" !!! merci d'avance pour l'aide

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

Discussions similaires

  1. communication web service java et android
    Par tlili_info dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 22/06/2011, 16h41
  2. web service météo et android
    Par tlili_info dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 21/03/2011, 23h53
  3. Cherche un script de service météo pour la météo régionale
    Par Invité(e) dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 29/05/2007, 16h02

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