bonjour ,
Je voudrais savoir si en gwt il est possible d'appeler les web service depuis le client sans passer par le serveur gwt?
Merçi
bonjour ,
Je voudrais savoir si en gwt il est possible d'appeler les web service depuis le client sans passer par le serveur gwt?
Merçi
non je ne crois pas, il faut passer par le serveur dans une application GWT-RPC.
Le RPC est une manière facile de communiquer avec le serveur Java mais on peut faire des requêtes classiques. On n'utilise pas le mécanisme RPC mais le RequestBuilder.
D'ailleurs, c'est même obligatoire pour :
la communication avec un autre serveur que Java (PHP par exemple)
l'upload de fichier sur le serveur.
Pour des web services qui envoient un flux xml, le plus simple est de le récupérer
classiquement (sans le mécanisme de RPC) et de le parser avec les classes XML fournies par Google.
merçi pour ces réponses.Moi personnellement comme j'utilise axis,j'ai utilisé le modèle Rpc pour envoyer au client gwt un json que je parse au moyen des lib json.Mais c'est bien de voir que ya un autre moyen de faire
bonjour tout le monde,
@benwit: stp, explique moi ce que tu veux dire par :
sachant que j'ai des web services codé en php (retourne du XML) que je doit appeler dans une application GWT.Pour des web services qui envoient un flux xml, le plus simple est de le récupérer
classiquement (sans le mécanisme de RPC)
de plus le traitement de l'xml retourné se fait coté serveur ou client? (bete question je pense mais merci de m'expliquer le mecanisme)
Merci
Tu as un serveur P (php par exemple) qui en fonction d'une requête (get ou post) te renvoit en réponse un flux xml.
Ce serveur P (via une url) peut être appelé via :
- la partie serveur d'une application gwt
- la partie cliente d'une application gwt
Si c'est la partie serveur qui fait l'appel, l'appel et le traitement de la réponse se font en Java et toute librairie de manipulation de l'xml peut être utilisé.
Si c'est la partie cliente qui fait l'appel, puisqu'après la compilation, le code de cette partie sera transformée en Javascript, l'appel et le traitement de la réponse se feront donc dans le navigateur en Javascript.
Pour cela, google met à notre disposition la classe RequestBuilder pour faire des appels classiques (non asynchrone) et des classes pour traiter le flux de réponse xml.
A noter que si le serveur P est différent du serveur G qui fournit les fichiers statiques générés par le compilo GWT, il faudra ajouter des options pour éviter les warnings (potentialité de xss) dans le hosted mode.
merci benwit
Mais si ton webservice SOAP se trouve sur un serveur distant, tu risques pas de te retrouver avec une Same Origin Policy violation ?
Il y a des risques en effet mais je n'ai jamais essayé en prod.
Jusqu'à présent, j'ai vu les warning et leur désactivation dans le mode de dev (hosted mode) mais une fois compilé, je ne sais pas comment ça réagit ?
Est-ce que les options pour enlever les warnings font que ça passe une fois compiler ou aura t'on une erreur ?
Est-ce que l'erreur concerne uniquement les appels ajax ou également via les iframe ?
Comment réagissent les navigateurs ?
Sinon, pour info, Ext-gwt a un ScriptTagProxy qui permet de contourner les limitations de HttpProxy. Quand est-il en GWT pur, je n'ai pas creusé cette question.
Partager