Re-bonjour,
votre aide m'a fait nettement avancer dans mon projet, c'est pourquoi j0ai décider de refaire appel à vous... le temps presse et je finis mon projet le 30 (sept).
J'ai décidé d'utiliser kSOAP pour communiquer avec mon Serveur (Tomcat). Un service WEB nommé 'TestServeur' tourne dessus contenant une méthode 'appel()' qui retourne un String.
Du côté de mon client (PDA) J'ai écris ce code:
import java.util.*;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import org.ksoap.*;
import org.ksoap.transport.*;
public class TestClientPDA extends MIDlet implements CommandListener {
Display display;
Command exit;
//Command fromNext, toNext, cancel, done, exit;
//TextField fromStreet, fromCity, fromState, fromZip;
//TextField toStreet, toCity, toState, toZip;
String endPointURL = "http://129.194.biiiip.biiiip:8080/axis/TestServeur"; //censure ;-)
public TestClientPDA () throws Exception {
display = Display.getDisplay(this);
exit = new Command("EXIT", Command.EXIT, 1);
}
public void startApp() {
String message = "attente du serveur";
Vector v;
Form form = new Form ("Example client PDA" );
form.append (new StringItem ("Appel du client: ", message));
try {
v = appel(form);
for (int i = 0; i < v.size(); i++) {
form.append((String) v.elementAt(i) + "\n" );
}
} catch (Exception e) {
message = "\nProbleme avec le serveur";
form.append(message +"\n"+ e);
//e.printStackTrace ();
}
form.addCommand (exit);
form.setCommandListener ((CommandListener) this);
display.setCurrent(form);
}
public void pauseApp() {
// do nothing
}
public void destroyApp(boolean unconditional) {
// do nothing
}
public void commandAction(Command command, Displayable screen) {
if (command == exit) {
destroyApp(false);
notifyDestroyed();
}
}
private Vector appel (Form form) {
Vector v = null;
String reponse = "vide";//null
try {
// La ligne HttpTransport fonctionne
HttpTransport rpc = new HttpTransport(endPointURL, "\"\"" );
///*******************************************************************
// IL PLANTE A CETTE LIGNE (génère une exception...)
v = (Vector)rpc.call (new SoapObject("", "appel" ));
///*******************************************************************
} catch (Exception e) {
reponse = "\nErreur lors de l'appel du serveur";
form.append(reponse);
e.printStackTrace();
}
return v;
}
}
Je remercie d'avance ceux qui passeront un peu de temps sur mon problème.
A Bientôt!
B.