Bonjour

Je dois faire une application utilisant l'api WSDL d'ovh (http://www.ovh.com/soapi/fr/).

J'ai essayé d'utiliser Axis2, j'ai réussi à générer deux fichier java (LanagerServiceCallBackHandler.java et ManagerServiceStub.java) mais je n'ai pas encore réussi à comprendre comment les utiliser. J'ai essayé dans un programme java tout simple mais j'obtiens lors de la compilation que le système manque de mémore (OutOfMemoryError). J'ai trouvé sur internet qu'il fallait compiler avec les options "-J-Xms1024l -J-Xmx1024m" mais le compilateur me dit alors que le package org.apache.axis2.databinding n'existe pas. Pouvez vous m'éclaire sur le fonctionement de soapi avec axis2 ou me dire ce que je pourrai oublier de faire?

Sinon j'ai trouvé plus de documentation sur KSOAP2 pour android (http://code.google.com/p/ksoap2-android/) mais lors de l’exécution j'obitens une erreur il me retourne l' erreur: expected: START_TAG... Avez vous une idée d'ou proviens ce problème?


Voici mon code avec Ksoap.


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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
 
import android.app.Activity;
import android.widget.TextView;
import android.os.Bundle;
 
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
 
import java.io.IOException;
import org.xmlpull.v1.XmlPullParserException;
 
public class appel extends Activity{
 
    private static final String	METHOD_NAME = "telephonyClick2CallDo";
    private static final String	NAMESPACE  = "http://soapi.ovh.com/manager";
 
//j'ai essayé les 3
    private static final String	URL	="http://soapi.ovh.com/manager";
//"https://www.ovh.com/soapi/soapi-dlw-1.24.wsdl";
//    "https://www.ovh.com/soapi/soapi-re-1.24.wsdl";
 
    private static SoapObject connectToSoap ( SoapObject request, String SOAP_ACTION ) throws Exception {
 
	//Toutes les donnees demandees sont mises dans une enveloppe.
	SoapSerializationEnvelope envelope = new SoapSerializationEnvelope (SoapEnvelope.VER11);
 
	//Preparation de la requete
	envelope.setOutputSoapObject (request);
	HttpTransportSE androidHttpTransport = new HttpTransportSE (URL);
 
	//Ceci est optionnel, on l'utilise pour savoir si nous voulons ou non utiliser 
	//un paquet "sniffer" pour verifier le message original (androidHttpTransport.requestDump)
	//androidHttpTransport.debug = true; 
 
	//Envoi de la requete
	androidHttpTransport.call (SOAP_ACTION, envelope);
 
	//Obtention du resultat
	SoapObject soapResult = (SoapObject) envelope.getResponse();
 
	return soapResult;
    }
 
 
    public SoapObject telephonyClick2CallDo (String login, String password, 
					 String calling, String called, String number)
	throws Exception {
 
	String SOAP_ACTION = "telephonyClick2CallDo";
	String METHOD_NAME = "telephonyClick2CallDo";
 
 
	// Creation de la requete SOAP
	SoapObject request = new SoapObject (NAMESPACE, METHOD_NAME);
 
	//ajout des parametre de la methode que l'on veut appeler
	request.addProperty("login",login);
	request.addProperty("password",password);
	request.addProperty("calling",calling);
	request.addProperty("called",called);
	request.addProperty("number",number);
	request.addProperty("language", "fr");
	request.addProperty("multisession", false);
 
	return connectToSoap(request, SOAP_ACTION);
    }
 
 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
	TextView mytexte =new TextView(this);
	TextView mytexte2 =new TextView(this);
 
	mytexte2.setText("debut");
 
	setContentView(mytexte2);
 
	try{
 
	    telephonyClick2CallDo("#LOGIN","#pass", "#NUM1","#NUM2","#numéroDeLaLigne");
 
	    mytexte.setText("FIN");
 
	}catch (IOException e){
 
	    mytexte.setText("erreur IO "+e.getMessage());
 
 
	}catch(XmlPullParserException e){
	    mytexte.setText("erreur xml "+e.getMessage());
 
 
	}catch(Exception e){
	mytexte.setText("erreur  "+e.getMessage());
 
	}
 
	setContentView(mytexte);
 
    }
 
}
Merci d'avance pour votre aide

Hervé