Date:  08/14/2006 09:17:34 PM Msg ID:  003099
From:  John Sullivan Thread:  003099
Subject:  Abyss Web Server Problems / Foxweb.DLL
 I have been trying to get Foxweb to work with the Abyss Web Server with little success. I found references to the problems on the Foxweb Forum and sent those to Abyss technical support. The upshot is Abyss tech supprt says that Foxweb.DLL should check the HTTP_HOST field to obtain the proper path information.

Is there any way Foxweb Technical Support can work with Abyss Technical support to get the tow working togeter properly? I think an alternative to IIS would be good business for Foxweb especially if the web server and Foxweb worked very well together.

Following is what Abyss had to say:

"FoxWeb.dll should check the value of the HTTP_HOST field instead of checking INSTANCE_ID. This is a more universal mechanism that will work with any web server (actually it seems that FoxWeb developers assumed that ISAPI can only work on IIS or PWS hence this design limitation on their side)"

The body of the message from Abyss follows. Maybe it will have meaning to you.

You can get FoxWeb.exe to run as you want by simply setting its type to "PHP Style". This will ensure that the PATH_INFO as passed as FoxWeb expects them to be (which is by the way not conforming to the CGI specification but is a tolerated habit used by PHP and some other scripting languages).

Regarding the ISAPI FoxWeb.dll, we too get "No program root has been configured for domain """ error no matter what we do. We've enabled ISAPI debugging in Abyss Web Server and it seems that the problem comes from that ISAPI.

------------------------
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
------------------------

Actually it does not request the host name from the server directly. It asks instead for the host's numerical ID and then tries to get more information about that host from the registry. This works for IIS and PWS since they store their host information in well known locations in the registry but will not work with Abyss Web Server or other servers not made by Microsoft.