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

Android Discussion :

Android Webservice SOAP


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 5
    Par défaut Android Webservice SOAP
    Bonjour,

    Actuellement novice dans le développement Android, je tente de mettre en place une app qui permet de récupérer des données d'un web service.

    Le web service à disposition est développé en Java, il utilise Jax-ws et la norme SOAP 1.2.
    Pour consommer ce web service dans une app android, j'ai utilisé la librairie KSOAP2.

    La connexion au web service se passe bien voici 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
     
    private static final String NAMESPACE ="http://ContratsRegionDWHService";
    private static final String URL = "http://localhost:8080/ContratsRegionDWH/ws/contrat?wsdl";
    private static final String METHOD_NAME = "contratsRegionDWH";
    private static final String SOAP_ACTION = "http://ContratsRegionDWHService/contratsRegionDWH";
     
    public static SoapObject soap(String property, String value)
    			throws IOException, XmlPullParserException {
     
    		SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
     
    		SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
    				SoapEnvelope.VER11);
     
    		envelope.setOutputSoapObject(request);
    		HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
    		androidHttpTransport.call(SOAP_ACTION, envelope);
    		SoapObject soapResult = (SoapObject) envelope.getResponse();
    		return soapResult;
    	}
    soapResult contient bien la réponse de mon webservice.
    Le problème que je rencontre est que le retour de soapResult est de la forme : anyType{contratRegionDTO=anyType{}; }

    Le web service retourne en DTO qui contient plusieurs champs.
    Voici la réponse SOAPUI
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
       <S:Body>
          <ns2:contratsRegionDWHResponse xmlns:ns2="http://ContratsRegionDWHService">
             <return>
                <contratRegionDTO libelleRegion="Region Nord" codeRegion="R250"/>
             </return>
          </ns2:contratsRegionDWHResponse>
       </S:Body>
    </S:Envelope>
    Je voudrais récupérer la valeur des champs libelleRegion et codeRegion
    J'ai vu que je devais utiliser un parser xml mais je n'arrive pas à accéder au dto. Quelqu'un a déjà rencontré ce problème ?

  2. #2
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 5
    Par défaut
    Bonjour,

    Merci pour votre réponse.
    J'ai effectivement suivi ces tutoriels, mais ils ne m'ont pas permis de résoudre mon problème.

    Mon retour de WS est de la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    anyType{contratRegionDTO=anyType{}; }
    Hors dans les tutos c'est de la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    anyType{tTutoriel=anyType{sUrl=http://dsilvera.developpez.com; sAuteur=dsilvera; iNbChapitre=3; fNote=4.5 };
     tTutoriel=anyType{sUrl=http://dsilvera.developpez.com; sAuteur=dsilvera; iNbChapitre=2; fNote=2.5 }; 
     tTutoriel=anyType{sUrl=http://dsilvera.developpez.com; sAuteur=dsilvera; iNbChapitre=1; fNote=3.5 };
     tTutoriel=anyType{sUrl=http://dsilvera.developpez.com; sAuteur=dsilvera; iNbChapitre=5; fNote=5 };
    Existe-t'il un moyen d'accéder à mon contratRegionDTO ?

  4. #4
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Il y a un souci dans la librairie de SOAP
    http://code.google.com/p/ksoap2-andr...s/detail?id=17

    il y a eu un patch pour corriger ce problème dans le 2.5.1, quelle version utilises tu ?

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 5
    Par défaut
    Bonjour,

    Je suis en version 2.4 de KSOAP2
    J'utilise le jar ksoap2-android-assembly-2.4-jar-with-dependencies.jar

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 5
    Par défaut
    Bonjour,

    Je viens de faire le test en changeant la version de KSOAP2, j'utilise dorénavant celle-ci : ksoap2-android-assembly-2.5.8-jar-with-dependencies.jar
    Cela n'a pas résolu mon problème.

    Rien n'est prévu pour les complex type ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/09/2009, 10h02
  2. [Web Service] Appel Webservice SOAP
    Par HaTnuX dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 16/08/2008, 22h33
  3. webservices soap et php
    Par manuscle dans le forum WinDev
    Réponses: 0
    Dernier message: 16/04/2008, 16h35
  4. Réponses: 1
    Dernier message: 13/02/2007, 17h43
  5. Webservice SOAP et fichier attaché ?
    Par Bruno13 dans le forum Services Web
    Réponses: 13
    Dernier message: 03/04/2006, 17h36

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