ASP classique: Server.CreateObject non pris en charge
-
03-07-2019 - |
Question
Lorsque j'appelle Server.CreateObject (), à partir de ma page ASP classique, je reçois
Microsoft VBScript runtime (0x800A01B6)
Object doesn't support this property or method
J'ai essayé les solutions suivantes (séparément):
Server.CreateObject("Microsoft.XMLHTTP")
Server.CreateObject("MSXML2.XMLHTTP")
Server.CreateObject("MSXML.DOMDocument")
Je sais que les objets ActiveX sont installés car les appels javascript suivants fonctionnent
var test = new ActiveXObject("Microsoft.XMLHTTP");
var test = new ActiveXObject("MSXML2.XMLHTTP");
var test = new ActiveXObject("MSXML.DOMDocument");
Je l’appelle depuis mon serveur IIS localhost. Des idées pour résoudre ce problème?
La solution
Si vous procédez comme suit:
Dim x: x = Server.CreateObject("My.ProgID.Here")
... VBScript crée l'objet, puis tente d'accéder à la propriété par défaut pour le stockage dans 'x'. Dans la mesure où aucun de ces objets n'a de propriété par défaut définie (en particulier une propriété basée sur IDispatch avec [id (DISPID_VALUE)]), cela échoue avec l'option "L'objet ne prend pas en charge cette propriété ou cette méthode".
Ce que vous voulez réellement, c'est ceci:
Dim x: Set x = Server.CreateObject("My.ProgID.Here")
Autres conseils
Qu'en est-il de celui-ci?
Définissez xml = Server.CreateObject ("MSXML2.ServerXMLHTTP")
Ou téléchargez ce composant et installez-le sur votre serveur Web?
Ensuite, redémarrez le serveur et essayez à nouveau.
Les appeler à partir du navigateur ne signifie pas qu’ils sont installés dans IIS.