Date:  08/15/2006 08:43:33 PM Msg ID:  003104
From:  FoxWeb Support Thread:  003101
Subject:  Re: ISAPI not working with Abyss Server
FoxWeb works fine with other servers that support ISAPI and most importantly, it works fine with Microsoft IIS.  ISAPI is not a public standard, but rather a proprietary Microsoft protocol, developed specifically for IIS.  It was adapted by other software developers, but in many cases their implementations are incompatible with that of IIS.
 
I am not sure what the problem is in this case, but I can assure you that FoxWeb does call the ISAPI GetServerVariable method to retrieve the values of all servers variables.  If this is not showing up in the Abyss trace log, there may be a different compatibility problem that is affecting FoxWeb earlier in the process.
 
I'm sure that with enough work we could get FoxWeb to work with Abyss, but, given the fact that up until today I had not even heard of this software, I rally can't justify this as a reasonable expense.  Users that want to avoid IIS typically go with Apache, which is open source and free.

FoxWeb Support Team
support@foxweb.com email

Sent by John Sullivan on 08/15/2006 04:07:00 PM:
I have been sucessful in running Abyss X2 with Foxweb but only with CGI. ISAPI does not work. It appears it is a problem with the just the ISAPI module and how it obtains the server name. Can you investigate this problem and provide a fix so I can run the web server with Foxweb?

Persoanlly, I feel we (the Foxweb developers / users) need a server alternative to IIS. The IIS that comes with XP / 2000 is limited in how many web connections it can have at one time. I would rather not purchase Windows Server 2003. The Abyss server is a very good low cost alternative

More info - following is a trace of the ISAPI callabck and they will show that SERVER_NAME or HTTP_HOST is never called. I hope this helps find a solution to the ""No program root has been configured for domain" problem.

ISAPI TRACE

The trace of the callbacks invoked by the ISAPI extension follows:

------------------------
Module: C:\Inetpub\Scripts\FoxWeb.dll    URI: /examples/Authenticate.fwx
Request #0    New request
Module: C:\Inetpub\Scripts\FoxWeb.dll    URI: /examples/Authenticate.fwx
Request #0    Prefetch-ReadClient() =
"secSessionID=1VH07DCF31&secUserID=john&secPassword=doe"
Module: C:\Inetpub\Scripts\FoxWeb.dll    URI: /examples/Authenticate.fwx
Request #0    GetServerVariable(szVariableName="CONTENT_LENGTH")="54"
Module: C:\Inetpub\Scripts\FoxWeb.dll    URI: /examples/Authenticate.fwx
Request #0    GetServerVariable(szVariableName="APPL_MD_PATH")="/"
Module: C:\Inetpub\Scripts\FoxWeb.dll    URI: /examples/Authenticate.fwx
Request #0    GetServerVariable(szVariableName="AUTH_TYPE")=""
Module: C:\Inetpub\Scripts\FoxWeb.dll    URI: /examples/Authenticate.fwx
Request #0    GetServerVariable(szVariableName="CONTENT_LENGTH")="54"
Module: C:\Inetpub\Scripts\FoxWeb.dll    URI: /examples/Authenticate.fwx
Request #0    GetServerVariable(szVariableName="INSTANCE_ID")="1"
Module: C:\Inetpub\Scripts\FoxWeb.dll    URI: /examples/Authenticate.fwx
Request #0    GetServerVariable(szVariableName="QUERY_STRING")=""
Module: C:\Inetpub\Scripts\FoxWeb.dll    URI: /examples/Authenticate.fwx
Request #0    GetServerVariable(szVariableName="REMOTE_USER")=""
Module: C:\Inetpub\Scripts\FoxWeb.dll    URI: /examples/Authenticate.fwx
Request #0    GetServerVariable(szVariableName="SERVER_PORT")="80"
Module: C:\Inetpub\Scripts\FoxWeb.dll    URI: /examples/Authenticate.fwx
Request #0
ServerSupportFunction(dwHSERequest=HSE_REQ_SEND_RESPONSE_HEADER,
lpvBuffer="200 OK", lpdwDataType="Content-Type: text/html
Cache-Control: private

")
Module: C:\Inetpub\Scripts\FoxWeb.dll    URI: /examples/Authenticate.fwx
Request #0    WriteClient(Buffer="

<!-- ">" --></p>

<table border=0 cellpadding=1 cellspacing=0 width=100%> <tr> <td colspan=3><hr><b>There was an error during the interpretation of your request.</b><br><br></td> </tr> <tr> <td nowrap><small><b>Message:</b></small></td>
<td></td>
<td><small>No program root has been configured for domain ""</small></td> </tr> <tr> <td colspan=3><hr></td> </tr> </table> ", dwSize=373, dwSync=0)
Module: C:\Inetpub\Scripts\FoxWeb.dll    URI: /examples/Authenticate.fwx
Request #0    HttpExtensionProc() = HSE_STATUS_SUCCESS (1) /
ecb.dwHttpStatusCode = 0
------------------------

In this trace, ISAPI has never requested SERVER_NAME or HTTP_HOST.