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 :

Android, Web Service, Ksoap


Sujet :

API standards et tierces Android

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2011
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 27
    Points : 20
    Points
    20
    Par défaut Android, Web Service, Ksoap
    Bonjour voilà etant debutant en programmation android et webservice
    j'ai décidé de suivre un tuto simple pour crée un webservice qui m'affiche juste un "Hello Man" sur mon emulateur android , le probleme c'est que sa marche pas je n'obtien rien quand je lance l'emulateur et je comprend pas qu'elle en ai la cause
    Voici le code du webservice
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    package com.android.ws;
    public class PrintMsg {
     public String sayHello(){
               return "Hello Man";
            }
    }
    et voici le code Android
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    package com.androidclient.ws;
     
    import org.ksoap2.SoapEnvelope;
    import org.ksoap2.serialization.SoapObject;
    import org.ksoap2.serialization.SoapPrimitive;
    import org.ksoap2.serialization.SoapSerializationEnvelope;
    import org.ksoap2.transport.HttpTransportSE;
    import android.widget.TextView;
     
    import android.app.Activity;
    import android.os.Bundle;
     
    public class WSClientActivity extends Activity {
        private static final String SOAP_ACTION = "http://ws.android.com/sayHello";
        private static final String METHOD_NAME = "sayHello";
        private static final String NAMESPACE = "http://ws.android.com/";
        private static final String URL = "http://mon adresse Ip:8085/PrintMsg/services/PrintMsg?wsdl";
     
        TextView tv ;
     
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            tv=(TextView)findViewById(R.id.tv);     
            SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);          
     
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
     
            envelope.setOutputSoapObject(request);
     
            HttpTransportSE ht = new HttpTransportSE(URL);
            try {
             ht.call(SOAP_ACTION, envelope);
                SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
     
     
                tv.setText("Message :"+response);
                setContentView(tv);
     
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
     
    }
    J'ai Autorisé l'accees a internet dans le manifeste se serais vraiment sympa de m'aider je bug depuis 15 jours la dessus

  2. #2
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Parceque tu dois avoir une exception que tu ne vois pas... (e.printStackTrace() au lieu de Log.e(TAG,message,e);

    Certainement NetworkOnMainThreadException (utiliation du réseau dans le thread principal de l'application)
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2011
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 27
    Points : 20
    Points
    20
    Par défaut
    Merci j'ai trouvé d'ou venez le probleme

  4. #4
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Dans ce cas... dire quel était le problème (et la solution) aiderait pour ceux qui auraient un problème similaire....

    (et appuyer sur le bouton "résolu" au passage).
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2011
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 27
    Points : 20
    Points
    20
    Par défaut
    lol ouais ta pas tort j'ai suivie ton conseille j'ai supprimé la ligne du (e.printstack()) et j'ai réecrie pour excuter le code avec un thread resultat

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    package com.androidclient.ws;
     
    import org.ksoap2.SoapEnvelope;
    import org.ksoap2.serialization.SoapObject;
    import org.ksoap2.serialization.SoapPrimitive;
    import org.ksoap2.serialization.SoapSerializationEnvelope;
    import org.ksoap2.transport.HttpTransportSE;
    import android.widget.TextView;
     
    import android.app.Activity;
    import android.os.Bundle;
     
    public class WSClientActivity extends Activity {
        private static final String SOAP_ACTION = "http://ws.android.com/sayHello";
        private static final String METHOD_NAME = "sayHello";
        private static final String NAMESPACE = "http://ws.android.com";
        private static final String URL = "http://192.168.1.4:8085/PrintMsg/services/PrintMsg?wsdl";
     
     
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
     
     
            Thread networkThread = new Thread() {
            @Override
            public void run() {
              try {
                 SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);         
                 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                 envelope.setOutputSoapObject(request);
     
                 HttpTransportSE ht = new HttpTransportSE(URL);
                 ht.call(SOAP_ACTION, envelope);
                 final  SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
                 final String str = response.toString();
     
                 runOnUiThread (new Runnable(){ 
                     public void run() {
                         TextView result;
                         result = (TextView)findViewById(R.id.tv);//Text view id is textView1
                         result.setText(str);
                           }
                       });
              }
             catch (Exception e) {
     
             }
            }
          };
          networkThread.start();
          }
         }
    mais j'obtenais cette erreur :

    [error] exception occurred while trying to invoke service method sayhello org.apache.axis2.axisfault: namespace mismatch require http://ws.android.com found http://ws.android.com/
    et pour la resoudre j'ai tout simplement enlevé le "/" dans le namespace

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

Discussions similaires

  1. Android et Web service JAVA
    Par diengsallah dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 17/05/2013, 14h18
  2. android web service
    Par mendjijet dans le forum Services Web
    Réponses: 1
    Dernier message: 02/01/2013, 08h55
  3. Android => Web Service : Probleme
    Par sadjira dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 12/05/2011, 12h55
  4. Web Services et Android
    Par diengsallah dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 02/04/2010, 18h34
  5. android et web service
    Par altair8080 dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 10/12/2009, 17h30

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