Bonjour,

Je débute avec l'utilisation de la librairie KSOAP et j'ai quelques soucis dans le traitement de la réponse de mon webservice.

Lorsque j'appelle mon WS via l'outil SoapUI, il me renvoie le XML suivant :

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
 
<?xml version='1.0' encoding='utf-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
    <soap:Body>
        <Reponse xmlns="POSTEPDA">
            <Statut>1</Statut>
            <MessErr />
            <Lignes>
                <Ligne>
                    <id>1</id>
		    <libelle>Lib1</libelle>
                </Ligne>
                <Ligne>
                    <id>2</id>
		    <libelle>Lib2</libelle>
                </Ligne>
                <Ligne>
                    <id>3</id>
		    <libelle>Lib3</libelle>
                </Ligne>
            </Lignes>
        </Reponse>
    </soap:Body>
</soap:Envelope>
Je m'attends donc à recevoir ce type de réponse en faisant appel à la méthode envelope.getResponse() de KSOAP;

Sauf que je reçois une chaine imbuvable qui ressemble vaguement à du JSON :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Reponse{Statut=1; MessErr=anyType{}; Lignes=anyType{Ligne=anyType{id=1; libelle=Lib1; }; Ligne=anyType{id=2; libelle=Lib2; }; Ligne=anyType{id=2; libelle=Lib2; }; }; }
Ce genre de chaines m'oblige à effectuer un parsing manuel qui me semble bien laborieux...

N'y a t-il pas moyen de mapper directement la réponse du WebService en beans Java, ou de récupérer un "vrai" JSON qui serait :

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
 
{
  "Reponse": {
    "Statut": "1",
    "Lignes": {
      "Ligne": [
        {
          "id": "1",
          "libelle": "Lib1"
        },
        {
          "id": "2",
          "libelle": "Lib2"
        },
        {
          "id": "2",
          "libelle": "Lib2"
        }
      ]
    }
  }
}
Ou n'ai-je simplement pas bien compris l'utilisation de cette librairie ?

Merci d'avance de votre aide