xml(flex) et spring

xml(flex) et spring - Java - Programmation

Marsh Posté le 30-10-2006 à 15:49:56    

Hello tout le monde !
 
Je développe actuellement une application web avec un frontend en flex (flash) et un backend en java.
Je dois utiliser HTTPService pour transmettre les infos de l'application flex vers le backend sous forme de
xml dans le body de la request (donc pas de paire name=value&name2=value2..) juste un xml.
 
Quelle serait selon vous la meilleure méthode pour réceptionner dans le backend ce xml sachant qu'il serait sympa pour
moi d'utiliser spring (controller, ...). Spring possède tout un tas de binder lorsque la request comporte
les paramètres sous forme de paire mais je ne trouve rien pour processer 'automatiquement' du xml...
(pas de webservice, ni soap, ...)
 
Une idée ?
 
Merci !

Reply

Marsh Posté le 30-10-2006 à 15:49:56   

Reply

Marsh Posté le 31-10-2006 à 10:03:25    

Bon je vois que mon sujet ne passionne pas les foules  :??:  
Ou alors tout le monde est en vacances :)
Enfin, pour le moment, ma solution est une classe Controller qui hérite de la classe AbstractController
Dans laquelle je récupère le flux xml du body de la request et le parse (avec Xstream pour le moment) pour obtenir
le résultat dans une bean, une sorte de viewBean en fait...
Je me doute que cette solution n'est pas la meilleur donc tous les avis sont les bienvenus  :hello:  
 
A+

Reply

Marsh Posté le 31-10-2006 à 10:31:52    

Ben j'avais hesité a te repondre hier mais c'etait justemenet te proposer XStream ... et ca me semble deja une bonne solution , je crois pas que spring propose un binder que tu cherchess (peut etre ds spring 2.0)

Reply

Marsh Posté le 31-10-2006 à 10:59:40    

Bah en fait cela fonctionne pas mal :)
Mais vu l'énorme engouement (ca s'écrit comme ça ?) autour de spring, j'étais persuadé
que qq1 avait déja du travailler sur qqchose comme ça et qu'il existait peut-être un DataBinder tout fait :)
Parce que la, en fait, j'ai recréé une sorte de CommandController, sans les validations,... mais bon, la plupart des validations
sont effectuées par flex sur le poste client :)
Mais si qq1 peut me proposer une meilleure solution, je suis preneur !

Reply

Marsh Posté le 31-10-2006 à 16:54:38    

Pour ceux que ca intéresse, ou pour ceux qui veulent me donner leur avis/critique voici le controller :

Code :
  1. public abstract class AbstractBaseFlexController extends AbstractController {
  2.     private XstreamWrapper xstreamWrapper;
  3.     @Override
  4.     protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
  5. Object command = xstreamWrapper.generateObject(request.getReader());
  6. return handleFlexRequest(request, response, command);
  7.     }
  8.    
  9.     /**
  10.      * Template method. Subclasses must implement this.  
  11.      * @param request
  12.      * @param response
  13.      * @param command
  14.      * @return
  15.      * @throws Exception
  16.      */
  17.     protected abstract ModelAndView handleFlexRequest(HttpServletRequest request, HttpServletResponse response, Object command) throws Exception;
  18.    
  19.     public XstreamWrapper getXstreamWrapper() {
  20. return xstreamWrapper;
  21.     }
  22.     public void setXstreamWrapper(XstreamWrapper xstreamWrapper) {
  23. this.xstreamWrapper = xstreamWrapper;
  24.     }
  25. }


 
Le wrapper est injecté comme d'hab avec Spring et concernant le wrapper pour Xstream, c'est ici :
http://jroller.com/page/tanays?ent [...] spring_mvc
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed