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 ?