www.grootersnet.nl

WASD CGI logging


Suppose you get an error in some CGI procedure like this:

%DCL-E-OPENIN, error opening DKA100:[APPLS]APP_ASSIGNS.COM; as input -RMS-F-DEV, error in device name or inappropriate device type for operation

WASD has one more other great feature is that you can trace your DCL-code, used as CGI-script, as seen by the server, without even changing anything the code. Just specify a system logical and you will get the full code as has been executed on your screen. Be aware though that you won't see formatted output, just the HTML code:

$ DEFINE /SYSTEM HTTPD$VERIFY 1

or, on a live server:

$ DEFINE /SYSTEM HTTPD$VERIFY <dotted IP-address>

and you'll see why.

First, all server-generated symbols will be shown, and after that, each line as the server has executed.

...
WWW_SERVER_NAME=="homedesk.grootersnet.nl"
WWW_SERVER_PROTOCOL=="HTTP/1.1"
WWW_SERVER_PORT=="80"
WWW_SERVER_SIGNATURE=="<ADDRESS>WASD/9.1.4 Server at homedesk.grootersnet.nl Port 80</ADDRESS>"
WWW_SERVER_SOFTWARE=="HTTPd-WASD/9.1.4 OpenVMS/AXP"
WWW_UNIQUE_ID=="RVzdNQAAAAQgIAE_Aso"
WWW_SECURITY_STATUS=="NONE"
WWW_FORM_ANR==""
WWW_KEY_COUNT=="0"
SET PROCESS/PARSE=EXTENDED
IF F$TRNLNM("HTTPD$LOGIN").NES."" THEN @HTTPD$LOGIN
SET DEFAULT ISCDISK:[ot.bps.cgi-bin.bps]
@APPL:[APPL.cgi-bin.bps]GATEWAY.COM
$! gateway.com, CGI-scripting met BUIG.
$!
$! =============================================================================
$!
$ set noon
$! Staat de trace aan/uit?
$ if f$trnlnm("WEBTRACE") .nes. "" then set verify

$!

Eh? WEBTRACE wasn't defined - but still you get this trace. (It's because APACHE and OSU don't have thgis feature. They have to rely on defining this logical)

$ assign/nolog base:keydef.xxx keydef
$ assign/nolog xxx$ref: $REF: 
$!
$! Set general logicals, node dependent
$!
$!
$ @dka100:[appl]appl_assigns APPL DKA200:[APPL.DATA]
%DCL-E-OPENIN, error opening DKA100:[APPL]APPL_ASSIGNS.COM; as input
-RMS-F-DEV, error in device name or inappropriate device type for operation
$

This reference (DKA100:[APPL]) depends on data specified in the URL, and this way, it's easy to track it down.

This is a simple one, but complex problems - mainly concerning the differences between SWS, OSU and WASD - were very easily found. It's priceless!

WASD General


Back to HowTo

Back to OpenVMS

Back home


(c) 2003- 2006 W. Grooters    Last updated 16-11-2006