CIPM Connect Method May Fail via ASP Script

ID: Q202024


The information in this article applies to:
  • Microsoft Site Server version 3.0, Commerce Edition


SYMPTOMS

The Connect method of the InterchangeManager object may fail when called via an Active Server Page script if Allow Anonymous access is enabled for the ASP page.

The Connect method of the InterchangeManager object fails to connect to the CIPM database under the security context of the IUSR anonymous account if the anonymous account does not have at least read permissions on the Cipm.mdb database.


CAUSE

By default, the Cipm.mdb database is installed to the \Microsoft Site Server\Data\CIP Manager\ directory and by default, the IUSR anonymous account does not have access to this directory when CIPM is installed on an NTFS partition.

When a connection is you negotiated to a Web server that has all methods of authentication enabled, IIS will always accept anonymous first. Under these circumstances, an administrator with full rights to the Cipm.mdb database file may be unable to execute an ASP script that uses the Connect method of the InterchangeManager object. This occur because IIS is attempting to gain access to the CIP Manager database under the security context of the anonymous account, which may have no rights to this file.


WORKAROUND

To work around this behavior, you must either disable anonymous access to the virtual directory housing the script, and thereby forcing Windows NT Challenge Response or Basic authentication, or give the IUSR anonymous account at least read access to CIP Manager database file (Cipm.mdb).


MORE INFORMATION

If you access the script below as the IUSR anonymous account when the anonymous account does not have at least read permissions to the CIP Manager database (Cipm.mdb), the script will fail with the following error message:

Sorry, Insufficient credentials to read CIP Manager database. (err.number = 0x81000006)
<% Response.Expires = 0 %> <HEAD> <TITLE> Connect to CIP Manager Database </TITLE> </HEAD>

<BODY>

<% On error resume next

Dim cipManager Dim Home

Set cipManager = Server.CreateObject("IMCore.InterchangeManager")

cipManager.Connect CheckError "Insufficient credentials to read CIP Manager database"

Set home = cipManager.home

%>

<H4> Use this page to view the Home Organization<BR> name listed in the CIP Manager database. </H4> <P> Home Organization is <%=home.name%> </P>

<%

Sub CheckError(statement)
   If Err.Number &lt;&gt; 0 Then
      Response.Write "Sorry, " _
         &amp; statement _
         &amp; ". (err.number = 0x" _
         &amp; CStr(Hex(Err.Number)) _
                    &amp; ")"
        Response.End
   End If
End Sub 
%>

Additional query words: CIPM vbscript

Keywords : CommDB_SQL
Version : winnt:3.0
Platform : winnt
Issue type : kbprb


Last Reviewed: May 18, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.