Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/06/2008, 09h43   #1
Invité de passage
 
Inscription : avril 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 13
Points : 2
Points : 2
Par défaut [ASP] Probleme d'acès à un fichier sur "https" msxml3.dll error '800c000e'

Bonjour à tous,

Désolé si je ne suis pas dans la bonne section.

J'ai un petit soucis.

En gros j'ai un formulaire avec des adresses MAC (de téléphones IP) et un champ pour écrire un message afin de l'envoyer sur le/les téléphones sélectionnés. Pour pouvoir faire la translation MAC --> IP je dois parcourir un fichier avec des données XML.

Je parcours le fichier comme ça (je tiens simplement à préciser que l'ASP est tirée du SDK de Cisco).

Code :
1
2
3
4
xmlhttp.Open("GET", protocol + "://" + callManager + "/CCMAdmin/Reports/devicelistx.asp", false);
  xmlhttp.setRequestHeader("Authorization", "Basic " + authstring);
  xmlhttp.setRequestHeader("Connection", "close");
  xmlhttp.Send();
Cependant lorsque je clique sur le bouton "Envoyer" de mon formulaire le server IIS me renvoit une erreur de type
Citation:
msxml3.dll error '800c000e'

Un problème de sécurité s'est produit.

/cisco/getdeviceip.asp, line 23
Or, les identifiants que je renseigne dans mon ASP pour la connexion sont les bons car quand je vais directement via mon browser sur à l'adresse j'ai accès à ce fichier sans soucis.

Quelqu'un aurait une idée? C'est possible que le "https" pose problème?

D'avance merci.
Richou68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 13h35   #2
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Yop,

Avant d'incriminer le HTTPS, il faudrait vérifier si tu as bien construit l'URL qui se trouve dans ton xmlhttp.Open

Fais un

Code :
alert(protocol + "://" + callManager + "/CCMAdmin/Reports/devicelistx.asp") ;
et vois si c'est bien ce à quoi tu t'attends.
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 13h56   #3
Invité de passage
 
Inscription : avril 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 13
Points : 2
Points : 2
Je viens de mettre un

Code :
Response.Write(protocol + "://" + callManager + "/CCMAdmin/Reports/devicelistx.asp") ;
juste au dessus de mon xmlhttp.Open et quand j'ai le message d'erreur de sécurité, en haut il y a bien la bonne adresse qui s'affiche.
Richou68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 16h13   #4
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Yop!

Essaye de désactiver la ligne:

Code :
1
2
 
xmlhttp.setRequestHeader("Connection", "close");
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 16h20   #5
Invité de passage
 
Inscription : avril 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 13
Points : 2
Points : 2
Yop,

Toujours pareil. Je pense vraiment que c'est un soucis de SSL. C'est un truc dans le genre http://support.microsoft.com/default...en-us%3B304420 non?
Richou68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 16h40   #6
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Yop!

Mouais, ce n'est pas le même message d'erreur....

J'ai trouvé ceci:
http://coderseye.com/2007/how-to-do-...h-in-ajax.html
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 21h21   #7
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 862
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 862
Points : 5 982
Points : 5 982
Salut,

C'est laquelle la ligne 23?

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 22h48   #8
Invité de passage
 
Inscription : avril 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 13
Points : 2
Points : 2
C'est celle là
Richou68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 23h08   #9
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Yop!

Bin oui, c'est quand tu fais le send que tu envoies la requête au serveur...

Ce qui est zarbi dans ton code c'est que tu n'envoies pas de données, comme par exemple envoyer une adresse MAC pour avoir une IP en retour (ou l'inverse, je ne sais pas comment ça fonctionne), ce qui impliquerait un POST et non pas un GET.
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2008, 08h18   #10
Invité de passage
 
Inscription : avril 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 13
Points : 2
Points : 2
En fait, j'ai une ASP principale avec mon formulaire HTML qui lui va récupérer les adresses MAC des téléphones sélectionnés par l'utilisateur, donc le POST se situe ici. Ensuite je fais appel à une autre ASP (celle qui pose problème) pour justement allez récupérer dans le fichier "devicelistx" l'adresse IP qui correspond à l'adresse MAC sélectionné, à savoir que c'est un fichier contenant du XML.

Voici l'exemple d'une ligne :

Citation:
<?xml version="1.0" encoding="iso-8859-1" ?>
- <DeviceList>
<Device t="30022" n="SEPXXXXXXXXX" d="EMMANUEL BREYSSE EXPL 113B" c="CSS national" p="Default" i="172.X.X.X" s="1" />
</DeviceList>
Le champ "n" correspondant à l'adresse MAC.
Richou68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2008, 08h57   #11
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Yop!

Citation:
Envoyé par Richou68 Voir le message
Ensuite je fais appel à une autre ASP (celle qui pose problème) pour justement allez récupérer dans le fichier "devicelistx" l'adresse IP qui correspond à l'adresse MAC sélectionné, à savoir que c'est un fichier contenant du XML.

S'cuze moi si je suis un peu dur à la détente, mais comment l'autre ASP (ceui qui pose donc probleme) connait-il l'adresse MAC pour laquelle il doit renvoyer l'IP?
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2008, 09h11   #12
Invité de passage
 
Inscription : avril 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 13
Points : 2
Points : 2
Parce que quand j'appelle l'ASP qui pose problème dans mon ASP principale je lui passe en paramètre la valeur de l'adresse MAC sélectionné dans le formulaire.

Code :
1
2
var phone = Request.Form("phones")(count);
    var ipAddr = getDeviceIP(phone, callManager, callManagerUserId, callManagerPassword, protocol);
L'adresse MAC du téléphone étant la variable "phones"
Richou68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2008, 09h59   #13
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Yop!

Code :
1
2
var phone = Request.Form("phones")(count);
    var ipAddr = getDeviceIP(phone, callManager, callManagerUserId, callManagerPassword, protocol);
Voui, mais getDeviceIP, ce n'est pas une page ASP, c'est une fonction.
Et c'est probablement cette fonction qui appelle la page ASP devicelistx.asp en construisant l'URL avec les paramètres protocol et callmanager.

Mais tout cela ne nous dit pas comment tu fais parvenir le paramètre phone à la page ASP devicelistx.asp. En tout cas, rien dans le code que tu nous a montré jusqu'ici ne nous renseigne sur ce point.
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2008, 10h06   #14
Invité de passage
 
Inscription : avril 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 13
Points : 2
Points : 2
Dans une ASP j'ai ces fonctions :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function getDeviceList(callManager, userID, password, protocol) {
 
  var authstring = text2base64(userID + ":" + password);
  var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
  var xmlDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.3.0");
  xmlDoc.async = false;
 
 
 
  xmlhttp.Open("GET", protocol + "://" + callManager + "/CCMAdmin/Reports/devicelistx.asp", false);
  xmlhttp.setRequestHeader("Authorization", "Basic " + authstring);
  xmlhttp.setRequestHeader("Connection", "close");
  xmlhttp.Send();
 
  xmlDoc.loadXML(xmlhttp.responseText);
  Application("deviceList") = xmlDoc;
}
et

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function getDeviceIP(phoneName, callManager, userID, password, protocol) {
 
  updateDeviceList(callManager, userID, password, protocol);
 
  var xmlDoc = Application("deviceList");
  objNodeList = xmlDoc.selectNodes("//DeviceList/Device");
  var ipAddress = "";
  var i=0;
  for (i=0; i<objNodeList.length; i++) 
  {
    var deviceName = objNodeList.item(i).attributes.getNamedItem("n").value;
    if (deviceName == phoneName) {
      var status = objNodeList.item(i).attributes.getNamedItem("s").value;
      if (status == "1") {
        ipAddress = objNodeList.item(i).attributes.getNamedItem("i").value;
        break;
      }
    }    
  }
  return ipAddress;
}
C'est ça que tu voulais savoir?
Richou68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2008, 10h26   #15
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Yop!

Ok, je commence à voir clair: la première fonction renvoie tout un ficher XML et la deuxième va chercher l'info dans le fichier. Voilà au moins un point qui est réglé.

Ce qui nous ramène au premier problème: la ligne 23...

J'ai fait une petite recherche et j'ai trouvé ceci:
http://www.developpez.net/forums/d98250/environnements-developpement/delphi/web-reseau/d7-w32-xml-tag-idhttp/

Ainsi que d'autres pages où d'autres personnes se plaignent du mauvais fonctionnement de text2base64
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2008, 10h47   #16
Invité de passage
 
Inscription : avril 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 13
Points : 2
Points : 2
Hum, je ne sais pas si ça a un rapport avec mon problème.

Par contre aujourd'hui, je ne comprends pas trop j'ai rien changé (j'ai peut-être installer un ou deux trucs hier) et je n'ai pas l'erreur mais quand je clique sur le bouton "envoyer" de mon formulaire rien ne se passe j'ai une page blanche puis ça rebascule sur le formulaire sans que le message n'arrive.
Richou68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2008, 13h39   #17
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Yop!

Je crois en effet que le problème se situe dans la page appelée car il semble bien que ton code soit bon.
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2008, 11h46   #18
Invité de passage
 
Inscription : avril 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 13
Points : 2
Points : 2
Yop,

Si j'accède au fichier via mon server, le SSL sur ce fichier est-il facilement supprimable afin que je puisse y accéder via une adresse en "http" et non plus "https"?
Richou68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2008, 17h13   #19
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Yop!

Il y a vraiment peu de chance que tu puisses passer outre du SSL.
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2008, 22h57   #20
Invité de passage
 
Inscription : avril 2008
Messages : 13
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 13
Points : 2
Points : 2
Vois tu une autre technique pour que je puisse récupérer les infos de ce fichier?
Richou68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h53.


 
 
 
 
Partenaires

Hébergement Web