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) :
Les messages d'erreur de la console FireFox :
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); }
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"]A noter que j'ai utilisé l'astuce pour autoriser les appels "cross domains" trouvée ici mais que ça n'a rien changé.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.
Message d'avertissement de IE :
Partager