WebTier Reporting problem
I've used the ISAPI demo on a windows 2000 server and have followed the
steps in the doc file to configure the IIS.
When on that machine and using IE with
http:\\localhost\rbWebPub\Report.dll, I get two panes in IE and both say
they can not find the page requested. The cache dir has a folder with
files that show the report.dll communicated with the report server to
get the two directories with reports. If I use the computer name or IP
address, I get nothing. The rbWebPub and sub directories have privs set
correctly. I'm running out of things to check, so I need some help on
what to check for next.
Oh, I put the rbserver bpl and all rbreport bpl's in the system32 dir.
A client from my machine can get to the reports on the server. I've
stopped and started the IIS every time there is a new report.dll. The
log shows that I've request the correct dll and has this entry.
2003-09-05 17:12:49 172.16.192.25 - 172.16.192.25 80 GET
/rbwebpub/report.dll - 500
Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0)
Thanks,
Dave
steps in the doc file to configure the IIS.
When on that machine and using IE with
http:\\localhost\rbWebPub\Report.dll, I get two panes in IE and both say
they can not find the page requested. The cache dir has a folder with
files that show the report.dll communicated with the report server to
get the two directories with reports. If I use the computer name or IP
address, I get nothing. The rbWebPub and sub directories have privs set
correctly. I'm running out of things to check, so I need some help on
what to check for next.
Oh, I put the rbserver bpl and all rbreport bpl's in the system32 dir.
A client from my machine can get to the reports on the server. I've
stopped and started the IIS every time there is a new report.dll. The
log shows that I've request the correct dll and has this entry.
2003-09-05 17:12:49 172.16.192.25 - 172.16.192.25 80 GET
/rbwebpub/report.dll - 500
Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0)
Thanks,
Dave
This discussion has been closed.
Comments
Its either an IIS configuration issue (see below) or the WebTier
properties for the CachDirectory, WebCachePath, and WebModuleURI are
configured incorrectly.
Perform a view source on the web page and look at the URL's that have
been generated. If these look correct then it is an IIS account issue.
----------------------------------------
RB WebTier and IIS User Accounts
----------------------------------------
Question: I am trying to configure and test the RB WebTier using IIS.
When I try to test the web tier via my web browser an Internal Server
500 Error page is displayed.
This is generic error page returned by IIS.
One cause of this error is that the WebTier application does not have
sufficient user access rights.
Solution:
1. Unload the WebTier application.
Use IIS to access the properties dialog for the rbWebPub virtual
directory. Press the UnLoad button to unload the ISAPI dll.
2. Delete rbWebPub subdirectories
Use Windows Explorer to delete all subdirectories inside the rbWebPub
directory. If you are using different WebTier CacheDirectory or WebTier
LogSettings, then delete those directories also.
3. Configure IIS User Accounts
There are two user accounts created by IIS: IUSR_MachineName and
IWAM_MachineName. (MachineName is replaced by the name of your
computer).
a. Use Windows Explorer to access the properties dialog for the rbWebPub
directory.
b. Check whether the IUSR_MachineName and IWAM_MachineName accounts
appear in the list of users. If not then add them.
c. The IUSR_MachineName account is the Internet Guest Account. This
account requires Read, Execute, and Write access to rbWebPub.
d. The IWAM_MachineName account is a user account that IIS uses to run
web applications such as the web tier. This account requires full
control of the rbWebPub directory. The web tier must be able to read,
write, and create new files and sub directories for the CacheDirectory
and the Log. Therefore if you configure the WebTier to use directories
that are not subdirectories of rbWebPub, you will need to configure
those directories as well.
e. reboot the machine.
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
installed Delphi and RBServer, is it possible there is a bpl or dll that
is not on the machine I'm deploying the Report.dll? When I try to
access the page from a different machine the error is:
"The specified module could not be found."
The web pages do look different, on the my machine the complete
directory structure is present, not on the other machine.
It would be hard to beleve it is security, since the rbWebPub has given
everyone full access, even the two accounts mentioned and ANONYMOUS
LOGON. It may be the security, but I need something more to go to the
network manager and point to where less security is needed. Right now
he does not believe that is the problem, it's the report.dll that has
the problem. Since the cache directories are created with the files
needed, I would have to agree. Are you saying that the Report.dll has
privs to create the pages, but ISS does not have privs to read them?
Even though the split panes is read, just not the treeviews. Is it
possible that I'm missing something else, some bpl or windows dll that
is used in the display?
The VirtualDir on both machines are the same. Also the options to use
an ini file and create logfiles is turned on, but neither is created on
either machine.
Thanks,
Dave
If I view the ListView.htm and click on the icon to expand the first dir
I get an error:
A Runtime Error has occured.
Do you wish to Debug?
Line 106
Error: 'parent.frmTreeView' is not an object
Maybe this can help determine where my problem is occuring.
Dave
That is a javascript error. The ListView.htm is designed to be viewed
inside a parent frame. The Parent is going to be nil if ListView.htm is
viewed as a stand alone page.
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
The WebTier.ini file should be created when you set
WebTier.IniSettings.Enabled to true and subsequently save the Delphi
project. I think there was an issue with this feature in RB 7.0, but it
definitely works in RB 7.03.
When you deploy, you will need to deploy the WebTier.ini file to the
directory designated by WebTier.IniSettings.FileName (The application
directory is the default location).
The WebTier application is an ISAPI.dll, it does not require any other
modules. The report server application may be a different story. It
likely requires database connectivity support, for example the BDE. You
can either compile the report server application as a stand alone .exe
or compile with packages. In the case of the latter, you would need to
deploy runtime packages.
You asked: "Are you saying that the Report.dll has
privs to create the pages, but ISS does not have privs to read them?".
It is possible for that to be an issue. The ISAPI dll is runing under
IWAM_MachineName and requires full access. The IUSR_MachineName needs
read access.
The split pane html page is the parent frame - this is the content
returned by the WebTier (i.e. the ISAPI.dll). If you perform a view
source from your web browser you will see url's to the treeview and
listview htm pages. These request go straight thru IIS, they do not go
thru the ISAPI.dll.
Likely causes:
1. The URL's generated by the WebTier are incorrect, due to incorrect
configuration of the WebTier properties.
2. There is a security issue, in which IIS is not permitting access to
those pages. Try typing in the URL for the treeview into the web browser
and see whether the access is permitted.
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
http://localhost/rbwebpub/Cache\{BAE7D8AD-E59B-4745-91EB-BB661747A87C}\listview.htm
shows the page with the two folders. So the security is ok, right?
If I use the computer name or ip address instead of locahost I get an
error that the page cannot be found.
There is not alot to setup in the TrsWebTier and to reduce problems I
used the demo ISAP app and only changed the IP address. I used the ini
file to see if there was something obvious to fix.
ini file:
[WebTier]
CacheDirectory=C:\rbWebPub\Cache\
WebCachePath=http://172.16.192.25/rbWebPub/Cache/
WebModuleURI=http://172.16.192.25/rbWebPub/Report.dll
[GarbageCollection]
MinSleep=60
SeparateThread=1
[LogSettings]
Verbose=0
EnableLogging=1
Format=XMLFile
Location=c:\winnt\system32\LogFiles
[ServerConnection]
Address=172.16.192.25
Port=1333
TimeOut=60
[SessionSettings]
SessionTimeout=300
MaxReportCount=0
[ViewerSettings]
ToolbarOptions=31
IncrementalMode=1
IncludeOutline=1
ZoomPercentage=70
Can you see any problems with the ini file?
Thanks,
Dave
You have the IP address specified for the WebModuleURI and WebCachePath.
There should not be an issue browsing
http://172.16.192.25/rbwebpub/Cache/{BAE7D8AD-E59B-4745-91EB-BB661747A87C}/listview.htm
that is the URL that will be generated by the WebTier.
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
of them had reserved the IP address. All works well now.
Thanks for the help,
Dave