Exception calling GetReportParameters (Webteir)
Using D6 and RBS 7.04, webteir is a CGI EXE
I'm getting an "Unable to create directory" exception when calling
webteir.GetReportParameters.
I have the log file turned off, and a session directory is being created
successfully.
I've tried making the call with the session parameter and without it and the
error still happens.
Tried both my own report server and one of the demos, still getting th
error.
I've tried it without the report server running to isolate the error and I
dont get a "server not running" error so its something in the webteir.
I've reviewed all your demos and documentation with no luck.
Can you give me any idea where else to look?
Tony Invencio
Strange Solutions, Inc.
http://www.strangesolutions.com
I'm getting an "Unable to create directory" exception when calling
webteir.GetReportParameters.
I have the log file turned off, and a session directory is being created
successfully.
I've tried making the call with the session parameter and without it and the
error still happens.
Tried both my own report server and one of the demos, still getting th
error.
I've tried it without the report server running to isolate the error and I
dont get a "server not running" error so its something in the webteir.
I've reviewed all your demos and documentation with no luck.
Can you give me any idea where else to look?
Tony Invencio
Strange Solutions, Inc.
http://www.strangesolutions.com
This discussion has been closed.
Comments
1. The WebTier cannot be used to implement a CGI application.
The WebTier is designed to support ISAPI, ASP, or Apache Shared Modules.
Examples are installed to RBServer\Demos\WebTier. Each example includes a
ReadMe.doc. The demos also include an example of using the WebTier in a
Delphi WebBroker WebDebugger application. This is recommended for debugging
applications.
CGI applications load a separate process for each web request - this
provides poor performance and is not recommended.
ISAPI, ASP, and Apache Shared Modules all essentially load a .DLL a single
time into memory and it is used to handle all of the requests in a
multi-threaded manner. This provides better performance.
The WebTier architecture is designed to take advantage of a single process,
multi-threaded architecture.
2. To call WebTier.GetReportParameters you need to have a valid session. You
can try calling the WebSessionManager to get the session - if no session
exists the WebSessionManager will create one.
example:
uses
rsWebSessionManager;
begin
gWebSessionManager.GetSessionForRequest(myWebRequest);
myWebTier1.GetReportParameters(myWebRequest);
end;
--
Nard Moseley
Digital Metaphors Corporation
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Now its dying on the gWebSessionManager.GetSessionForRequest() call with the
same exception.
I should note that my webteir is successfully calling other functions that
require and use sessions such as CreateClientReportCatalog,
RefreshVolumeNames, and so on, so that I can present my own list if
available reports. Its working fine for that.
I researched this and have created a patch file for RB 7.04. The error was
caused by the WebTier not initializing itself properly, prior to some
methods such as GetReportParameters and GetSessionForRequest being called.
Registered users of RB Server Edition 7.04 can email
support@digital-metaphors.com and request the patch.
--
Nard Moseley
Digital Metaphors Corporation
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com