Bonjour,

J'utilise un Service Web qui fournit du code Javascript pour effectuer les requ�tes. Le probl�me que j'ai est que les codes d'acc�s doivent �tre en clair (des cha�nes Javascript pass�es en argument dans l'URL de requ�te).

Je me suis dit alors que je pourrais �crire un jsp (mon serveur est Tomcat) qui se chargerait de la requ�te et contiendrait les codes d'acc�s "cach�s" (c�d. que l'utilisateur final ne peut pas les voir en regardant la source).

Mon probl�me est le suivant : si j'invoque directement mon jsp (dans la barre d'adresse), j'obtiens exactement le m�me output que si j'invoque directement l'URL du webservice mais si je mets l'URL de mon jsp dans le javascript � la place de celle du Service Web, je n'ai aucune r�ponse.

Donc :
  • HTML -> appelWS.js avec "http://webservice.com?query=1" -> fonctionne !
  • HTML -> appelWS.js avec "https://monserveur.com/appelWS.jsp?query=1" -> appelWS.jsp avec "http://webservice.com?query=1" -> ne fonctionne pas !


(mon jsp

Voici la fonction d'appel javascript:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
function callWebServiceBegin(query) {
      var scriptTag = document.getElementById("wsScript");
      var headTag = document.getElementsByTagName("head").item(0);
      var strUrl = "";
 
      // cette strUrl fonctionne : elle appelle directement le web service
      //strUrl = "http://webservice.com?";
      //strUrl += "query=" + escape(query);
      //strUrl += "&account_code=" + escape("xxxx");
      //strUrl += "&license_code=" + escape("yyyy");
      //strUrl += "&callback=callWebServiceEnd"; 
 
      // cette strUrl ne fonctionne pas : elle appelle indirectement le web service
      strUrl = "https://monserveur.com/appelWS.jsp?query=1";
      strUrl += "query=" + escape(query);
      strUrl += "&callback=callWebServiceEnd";
 
      //Make the request
      if (scriptTag) {
          try {
             headTag.removeChild(scriptTag);
          }
          catch (e) {
              //Ignore
          }
      }
      scriptTag = document.createElement("script");
      scriptTag.src = strUrl
      scriptTag.type = "text/javascript";
      scriptTag.id = "wsScript";
      headTag.appendChild(scriptTag);
}
Apr�s, j'ai une fonction "function callWebServiceEnd(response) {..." qui traite la r�ponse. Lorsque je donne mon strUrl, je n'y arrive jamais (dans cette fonction). Est-ce que quelqu'un pourrait m'aider ?

J'ai d�j� pens� � plusieurs solutions, sans v�ritablement trouver de r�ponse :
  • Est-ce que le fait que je sois en https change quelque chose ? Je ne pense pas puisque les outputs des URLs entr�es directement sont les m�mes.
  • Pourquoi la fonction callback n'est pas appel�e avec mon URL ?
  • Est-ce qu'il existe une autre solution pour appeler mon URL, r�cup�rer la r�ponse et la passer "manuellement" � ma fonction callback (sans utiliser une armada lourde, genre servlet, ...) ?


Un grand merci d'avance :-)
J.E.