Consultor Eletrônico



Kbase P22133: Is it possible to hide the scripts directory and the messeng
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   6/25/2003
Status: Verified

GOAL:

Is it possible to hide the scripts directory and the messenger in the URL when using the IIS?

FACT(s) (Environment):

WebSpeed 3.x

FACT(s) (Environment):

IIS

FIX:

It is not possible to avoid specifying the scripts direcotry and the messenger in the URL when using a WebSpeed application with IIS.

However, using the application mapping extensions for the .htm and/or .html
files and with tweaking the WebSpeed code this might be possible.

The Progress Dynamics is using this approach with the Dynamics file extension *.icf. The idea is as follows:

- In the IIS create virtual directory called e.g. 'application'
- Open the properties for that virtual directory and in the 'Application
Settings' click on the button 'Configure...'
- In the 'Mappings' click on the button 'Add'
- In the 'Executable' field enter:
%DLC%\bin\cgiip.exe -i wsbroker1

where %DLC% is Progress installation directory and wsbroker1 is the WebSpeed service which should be replaced with the designated one.
- In the 'Extension' field enter designated extension which can also be one of .htm or .html - Dynamics uses .icf
- Choose 'All Verbs' and disable 'Check that file exists'

After doing this restart the IIS. Now you can use the following URL construct:
.http://hostname/application/webspeedhidden.htm

This will cause that IIS redirects the request to the WebSpeed messenger.

However, you must change internal procedure 'run-web-object' in the %DLC%\tty\web\objects\web-util.p, if you don't you will receieve error:

Unable to find web object file ''

even though the webspeedhidden.htm file has been compiled and is located in your PROPATH. The solution is to add another procedure in the chain of the super-procedures that will subclass the 'run-web-object' found in the web-util.p and that will correctly set the global variable 'AppProgram' using the given file extension and the global CGI variable SCRIPT_NAME.