PRB: Server Execution Failed When Calling MTS COM Component from ASP

Symptoms

When calling a Component Object Model (COM) component of a Microsoft Transaction Server (MTS) Package from Active Server Pages (ASP), the following error may occur intermittently:

Server object error 'ASP 0177 : 80080005'
Server.CreateObject Failed
/xxxx.asp, line xx
Server execution failed
This error message is association with the following similar eventlog entry:

EventID: 4134
Source: Transaction Server
Type: Error
Category: Executive

Failed on creation from object context: CoGetClassObject (ProgId: xxxx.xxxx) (CLSID: {B57CF3F7-66D3-496A-9D3B-55AE65A952FB}) (Interface: IClassFactory) (IID: {00000001-0000-0000-C000-000000000046}) (Microsoft Transaction Server Internals Information: File: d:\viper\src\runtime\context\ccontext.cpp, Line: 1285)

Data (words):
0000: 80080005
Or the following error may occur when the component is created using the CreateObject method instead of Server.CreateObject from ASP:
Microsoft VBScript runtime error '800a01ad'
ActiveX component can't create object: 'xxxx.xxxx'
/ron/InvPerfStress.asp, line 14

Cause

This happens when the identity of the MTS Server Package has been set to "Interactive User." The interactive user is the user that is currently logged on to the server (that is, the computer that hosts the MTS Package). When this user logs off, the components in the MTS Server Package cannot be created and executed, and an error is returned.


Steps to Reproduce Behavior

  1. Create a new MTS Server Package and accept the default interactive user identity.
  2. Add your COM component to this package.
  3. Create your ASP page and save it in a virtual directory.
  4. While logged on to the server, request the ASP page from a browser on a different computer.
  5. Log off from the server
  6. Request the ASP page again from the browser on a different computer (or refresh the page requested in step 4).
  7. The following error appears in your browser if component was created using Server.CreateObject:
    Server object error 'ASP 0177 : 80080005'
    Server.CreateObject Failed
    /xxxx.asp, line xx
    Server execution failed
  8. Log on to the server and open the Internet Service Manager to change the identity of the MTS Server Package to a specific user.
  9. Log off from the server again.
  10. Request the ASP page again from the browser on a different computer (or refresh the page requested in step 4).
  11. The page works as expected.

Resolution

Set the package identity to a specific user.

Status

This behavior is by design.

References

For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

223406 HOWTO: Create an Empty MTS Package to Add Components for ASP
Propriétés

ID d'article : 241057 - Dernière mise à jour : 19 juin 2014 - Révision : 1

Commentaires