Un WebService sur PDAs [WebServices - J2ME] - Divers - Programmation
Marsh Posté le 03-09-2004 à 09:13:44
ReplyMarsh Posté le 03-09-2004 à 09:23:38
rassure moi, c'est bien la martie cliente du WS que tu veux utiliser sur ton PDA, hein ?
en cherchant rapidement avec google tu vas trouver plein de trucs. ex : http://www.javaworld.com/javaworld [...] eless.html
Marsh Posté le 03-09-2004 à 09:26:17
ReplyMarsh Posté le 03-09-2004 à 10:33:12
Merci pour cette adresse, il y a effectivment beaucoup d'informations intéressantes. Mais je dois apparemment abandonner les fichiers générés par Axis et redescendre d'une couche pour faire du SOAP.
Bah... c'est l'occasion après tout...:-)
Marsh Posté le 03-09-2004 à 14:21:07
C'est une solution, j'ai pas cherché plus que ca ...
peut être que Axis ne le gère pas, mais il doit exister des outils permettant de générer les stubs J2ME pour accéder à un webservices. Je vois pas ce qui empecherait que ca existe => en cherchant un peu, tu devrais trouver ...
Marsh Posté le 14-09-2004 à 10:05:12
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.
Marsh Posté le 03-09-2004 à 09:11:36
Bonjour à tous,
Je cherche à développer un WebService sur PDAs. Pour ceci, j'utilise un serveur Tomcat sur lequel j'ai déployé Axis. Tant que je reste sur des PC ou des portables tout va bien et mon service WEB tourne à merveille.
Mais dès que je veux passer sur une machine virtuelle limitée, les 4 fichiers générés par Axis ne sont plus reconnus (forcément...). J'ai essayé d'importer les librairies nécessaires pour ces 4 fichiers, mais ça ne marche pas.
Je m'arrache donc les cheveux à essayer de trouver une solution, mais je commence à être chauve, donc il me faut absolument de l'aide.
Merci à celui ou celle qui pourra me consacrer un peu de temps
B.