Bonjour,

je cherche à accéder à un Web Service qui tourne sous un serveur Axis2 et ça ne se fait pas sans mal. Jusqu'à maintenant je n'ai qu'une solution partielle : j'utilise GXmlHttp de l'API GoogleMaps et je rentre l'adresse de mon WS.

Le soucis c'est que ça ne marche pas sous FireFox et sous IE ça me lance un pop up de sécurité (de plus je suis obligé de fermer et réouvrir IE si je veux relancer l'appel au WS, un simple refresh ne suffit pas).

J'ai trouvé quelques scripts tous prêts permettant d'accéder à des WS, mais ils ont été écrits pour dotnet et ça ne fonctionne pas sur AXIS2.

Si quelqu'un a des suggestions à faire, je suis tout ouïe

Mon code (pour le moment je me contente d'afficher un simple "alert", le parsing du xml se fera après) :

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 ArretsParsing (dx)
    {
        // on crée des variables de type Array, qui recoivent comme valeur les balises choisies dans le document xml
        var codArret = dx.getElementsByTagName('ax21:codArret');
        var numParc = dx.getElementsByTagName('ax21:parc');
 
 
 
    	// On récupère les valeurs textuelles contenues dans la balise choisie, et on l'applique au formulaire.
    	// En xml, la valeur d'une balise est le nodeValue de son premier enfant (firstChild)
        alert (numParc[1].firstChild.nodeValue);
 
    }
 
 
    function load()
    {
      if (GBrowserIsCompatible())
      {
        // ESSAIS : on va lire le fichier xml et on affiche son contenu
        var request = GXmlHttp.create();
        request.open("GET", "http://192.168.90.40:8080/axis2/services/Serveur/passageArret?pCodArret=LiF01", true);
        request.onreadystatechange = function()
        {
            if (request.readyState == 4)
            {
                var docXml = GXml.parse(request.responseText);
                ArretsParsing (docXml)  ;
            }
      }
      request.send(null);
    }
Les messages d'erreur de la console FireFox :
Erreur*: uncaught exception: [Exception... "Access to restricted URI denied" code: "1012" nsresult: "0x805303f4 (NS_ERROR_DOM_BAD_URI)" location: "http://localhost/stage/essais5.html Line: 40"]
Erreur de sécurité*: le contenu situé à http://localhost/stage/essais5.html ne peut pas charger de données à partir de http://192.168.90.40:8080/axis2/serv...CodArret=LiF01.
A noter que j'ai utilisé l'astuce pour autoriser les appels "cross domains" trouvée ici mais que ça n'a rien changé.

Message d'avertissement de IE :