Appel d'un service SOAP sous Android
Salut, je suis débutant en android et java, j'essaie d'appeler un service sous android, j'ai créé une classe 'AppelService' dont le code ci dessous:
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 27 28 29 30 31 32 33 34 35 36 37 38 39
| import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import android.util.Log;
public class AppelService {
private static final String NAMESPACE = "http://www.webserviceX.NET";
private static final String URL = "http://www.webservicex.net/globalweather.asmx";
private static final String SOAP_ACTION = "http://www.webserviceX.NET/GetWeather";
private static final String METHOD_NAME = "GetWeather";
String getWeather(String CityName, String CountryName) {
String res = null;
try {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("CityName", CityName);
request.addProperty("CountryName", CountryName);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.debug = true;
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapObject objetSOAP = (SoapObject)envelope.getResponse();
res = this.parserObjet(objetSOAP, "Temperature");
} catch (Exception e) {
Log.e("getWeather", "", e);
}
return res;
}
private String parserObjet(SoapObject objet,String property) {
SoapObject meteoObjet = (SoapObject)objet.getProperty("CurrentWeather");
String s= meteoObjet.getProperty(property).toString();
return s;
} } |
et puis l'appel de cette classe comme ça :
Code:
1 2
| AppelService app=new AppelService() ;
String s=app.getWeather("Montpellier","France"); |
lors de test sur mon pc via un device virtuel (emulateur android), un erreur se produit "unfortunately, Mon_app has stopped" :cry:
est ce quelqu'un peut m'aider et merci :)