Accéder à un WebService Axis2 depuis JS
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:
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 :
Citation:
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é.
Message d'avertissement de IE :
http://img177.imageshack.us/img177/6...secuni9.th.jpg