Intercepting AppServer calls

Posted by ojfoggin on 22-May-2012 04:29

We have a window set up in our system that used to catch each time an AppServer procedure was opened and closed.

Although the window worked and was really useful it was actually really helpful for me to diagnose a major problem in the way the AppServer was set up.

Anyway, we have now changed the client-server connection (a few years ago) and now we do...

PUBLISH "GetHandleToAppServer" (output appservhandle).

Then...

run myAppserverFile.p on appservhandle (input blah, output table tt-something).

It would be unbelievably useful if there was some way that I could "see" those calls as it would help a lot for the IT log screen we have.

Is there any way to catch any procedures run on the AppServer (i.e. filename or something).

Thanks for any advice.

All Replies

Posted by Peter Judge on 22-May-2012 08:21

It would be unbelievably useful if there was some way that I could "see"

those calls as it would help a lot for the IT log screen we have.

Is there any way to catch any procedures run on the AppServer (i.e.

filename or something).

You can log all ABL calls with the LOG-MANAGER's 4GLTrace.* log type. This won't just log the program being called, but also everything that that program calls too. You could parse that file (search PSDN for the LogReader utility which has ABL code to do that sort of thing).

I had thought that you could find out the program being run in the AppServer's activate procedure (which runs on each request), but it looks like this is only in OE11, via the SESSION:CURRENT-REQUEST-INFO object's procedureName property. I gather that you need to set this yourself, though.

You can, in OE11, also debug (remote) AppServer calls in the Dev Studio debugger.

-- peter

I was corrected about the procedureName property: it is always set by the AVM.

Message was edited by: Peter Judge

This thread is closed