Click to See Complete Forum and Search --> : Soap class not defined, Server.CreateObject Failed


BananaQuaalude
06-13-2006, 12:19 PM
Hello,

I'm trying to connect to Microsoft Project Server 2003's PDS to create new resources. I get an error on the following line:

set oSoapClient = Server.CreateObject("MSSOAP.SoapClient30")

Error: Microsoft VBScript runtime error '800a01fa' Class not defined: 'SoapClient30'


If I try to use this:

set oSoapClient = Server.CreateObject("MSSOAP.SoapClient")

I get this error: Server object error 'ASP 0177 : 800401f3' Server.CreateObject Failed


Soap version 3 is installed on the server. I have checked that the soap dlls on the server are registered correctly and even re-registered them. I don't think there is a problem with my code, I think the issue is server-side, but I'm not sure what to check next.

Any help would be greatly appreciated!

russell
06-13-2006, 12:57 PM
on the server look in the registry under ( start / run / regedit / <enter> )
HKEY\CLASSES\ROOT
for MSSOAP.SoapClient
You'll see what versions are installed

MSSOAP.SoapClient.
MSSOAP.SoapClient.1

etc

BananaQuaalude
06-13-2006, 01:10 PM
Interesting...

I only have MSOSOAP.SoapClient30, which is 'Microsoft Office SOAP SoapClient class version 3'

I just ran the following code again:

set oSoapClient = Server.CreateObject("MSSOAP.SoapClient30")

and received no error. However, on the next line:

oSoapClient = New SoapClient30

I get this error message:

Microsoft VBScript runtime error '800a01fa'

Class not defined: 'SoapClient30'


So now it looks like it can find the web service, but doesn't like SoapClient30 class. I get same error with only using SoapClient, without the 30.

I'm Googling that error, haven't found anything yet. Any ideas?

russell
06-13-2006, 03:09 PM
you need to use this
set oSoapClient = Server.CreateObject("MSSOAP.SoapClient30")

this
oSoapClient = New SoapClient30

won't work. 2 reasons

1. you need to use the Set keywork to instantiate an object
2. ASP thinks you are trying to instantiate an ASP Class, not an ActiveX COM class

BananaQuaalude
06-19-2006, 03:32 PM
Finally got to get back to this--yes, that worked.

I'm translating this from an executable script into a web page, so I keep running into items like that.

It's working now, though. Thanks very much for your help!