Classic ASP: Server.CreateObject not supported

twh3375 picture twh3375 · Jan 6, 2009 · Viewed 7.5k times · Source

When I call Server.CreateObject(), from my Classic ASP page, I get

Microsoft VBScript runtime (0x800A01B6)
Object doesn't support this property or method

I've tried the following (separately):

Server.CreateObject("Microsoft.XMLHTTP")
Server.CreateObject("MSXML2.XMLHTTP")
Server.CreateObject("MSXML.DOMDocument")

I know the ActiveX objects are installed because the following javascript calls work

var test = new ActiveXObject("Microsoft.XMLHTTP");
var test = new ActiveXObject("MSXML2.XMLHTTP");
var test = new ActiveXObject("MSXML.DOMDocument");

I'm calling it from my localhost IIS server. Any ideas how to troubleshoot this?

Answer

Roger Lipscombe picture Roger Lipscombe · Jan 6, 2009

If you do the following:

Dim x: x = Server.CreateObject("My.ProgID.Here")

...VBScript creates the object and then attempts to access the default property for storing in 'x'. Since none of these objects have a default property defined (specifically an IDispatch-based property with [id(DISPID_VALUE)]), this fails with "Object doesn't support this property or method".

What you actually want is this:

Dim x: Set x = Server.CreateObject("My.ProgID.Here")