Bonjour,
J'essaie de faire une application sur un téléphone mobile. Cette application doit pouvoir dialoguer avec un blog disposé sur un serveur web.
J'ai le WTK22 et mon blog de test est Nucleus http://nucleuscms.org/.
J'essaie d'utiliser les APIs standards des blogs : surtout MetaWebBlogAPI (http://www.xmlrpc.com/metaWeblogApi)
J'ai commencé par tester un programme Java "normal" et ça marchait à peu près (en tout cas pour récupérer un Post -pour poster un Post ça marche toujours pas... -http://forum.hardware.fr/hardwaref [...] 4150-1.htm-)
Pour ce qui est de mon appli J2ME, j'ai récupéré un parser XML qui s'appelle kXML-RPC http://kxmlrpc.objectweb.org/ et qui est apparement fait pour tourner sur J2ME.
Mon problème est que j'arrive à envoyer une requête mais que je ne récupère que les 256 premières caractères de la réponse.
Lorsque dans WTK j'active le Network Monitor, j'obtiens pour client -> serveur
Code :
- ..<methodCall>
- .. <methodName>metaWeblog.getPost</methodName>
- .. <params>
- .. <param>
- .. <value>
- .. <string>1</string>
- .. </value>
- .. </param>
- .. <param>
- .. <value>
- .. <string>monlogin</string>
- .. </value>
- .. </param>
- .. <param>
- .. <value>
- .. <string>monpasswd</string>
- .. </value>
- .. </param>
- .. </params>
- ..</methodCall>
|
et pour la réponse serveur -> client, je n'obtiens apparemment que le début :
Code :
- <?xml version="1.0"?>
- .<methodResponse>
- . <params>
- . <param>
- . <value><struct>
- . <member><name>dateCreated</name>
- . <value>
- <dateTime.iso8601>20050208T15:38:33</dateTime.iso8601></value>
- . </member>
- . <member><name>userid</name>
- . <value><string>1</string></value>
- . </member>
|
Voilà la partie de mon appli qui fait l'appel et la réponse du client :
Code :
- //L'adresse du blog ou l'on se connecte
- xmlrpc = new XmlRpcClient(
- "http://monurl" ) ;
- //les parametres à passer à la fonction que l'on appelle sur le blog
- params = new Vector() ;
- params.addElement("1" ) ; // blogId
- params.addElement("monlogin" ) ;
- params.addElement("monpasswd" ) ;
- //on execute la méthode que je souhaite : recuperer un post
- reponse = (Object) xmlrpc.execute(blogMethode, params) ;
- //String s = (String) xmlrpc.execute(blogMethode, params) ;
- System.out.println("DB1 : " + reponse.toString()) ;
- response.setString( reponse.toString() );
- display.setCurrent( response );
|
Lorsque je lance l'application sur l'émulateur, j'obtiens un java.lang.nullPointerException et dans mon moniteur, la trace que j'ai posté + haut.
Si quelqu'un à déjà utilisé kXML-RPC ou a déjà rencontré ce problème...
Ou peut-être cela vient que J2ME est limité en taille mémoire ?
Bref, je suis preneur de toutes vos suggestions
Merci pour vos réponses.
Julien
PS : Je peux mettre mon répertoire (WTK>monappli) en téléchargement si vous voulez voir le code en entier (y'a vraiment pas beaucoup de lignes) et tester vite fait (+ pratique si vous avez WTK installé)
Message édité par jultey le 13-02-2005 à 01:46:36