[KSOAP] Traitement de la réponse d'un webservice
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:
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:
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:
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 ;)