ISAPI tutorial (#7), Page 53
I set up my IIS, added my ISAPII DLL and have the server running as a
Service. All works fine and dandy. I am able to run the reports LocalHost.
I go to another machine and enter the same URL,
http://LocalHost/myWebTier/myWebTier.Dll and all that is returned is two
blank pages in Frames.
I am tempted to feign ignorance and let you explain it all to me but my
pride won't let me. I am fully aware that query pairs have to make it to
the DLL to provide arguments to create/retrieve a report. I was hoping
there was a component that could poll the server, find out what is on it and
at least give me a structure to return those values. Since the server knows
what it needs (and has) it would seem that it can, at the least, ask
questions.
But my complaint is that the tutorial stopped short. Teaching how to build
a report server that runs localhost is like dancing with your sister
(outside of Georgia). If you could provide an example, preferably in
tutorial mode of how to pass a report across the internet, I would surly
appreciate it.
I did not do the final lesson since it pertained to load balancing and we
will always be deploying from one server. Perhaps the answers I seek are
there. But if not, I'd appreciate additional guidance.
Service. All works fine and dandy. I am able to run the reports LocalHost.
I go to another machine and enter the same URL,
http://LocalHost/myWebTier/myWebTier.Dll and all that is returned is two
blank pages in Frames.
I am tempted to feign ignorance and let you explain it all to me but my
pride won't let me. I am fully aware that query pairs have to make it to
the DLL to provide arguments to create/retrieve a report. I was hoping
there was a component that could poll the server, find out what is on it and
at least give me a structure to return those values. Since the server knows
what it needs (and has) it would seem that it can, at the least, ask
questions.
But my complaint is that the tutorial stopped short. Teaching how to build
a report server that runs localhost is like dancing with your sister
(outside of Georgia). If you could provide an example, preferably in
tutorial mode of how to pass a report across the internet, I would surly
appreciate it.
I did not do the final lesson since it pertained to load balancing and we
will always be deploying from one server. Perhaps the answers I seek are
there. But if not, I'd appreciate additional guidance.
This discussion has been closed.
Comments
I found the Demos and will go through them tonight. I may find what I am
looking for tonight. I apologize if I am asking the obvious. I just
inherited this beast with no turnover and am trudging my way through.
Use your web browser to to display the page with the empty frames. Then
perform a
a View | Source on the FrameSet. Find the URL's related to TreeView.htm and
ListView.htm. These are generated by the RB WebTier and should correspond to
web pages that exist on the web server machine. These should be valid URL's.
Either you have a WebTier configuration issue or a security issue with
reading the web cache directories.
Check your WebTier configuration setting for CacheDirectory, WebCachePath,
and WebModuleURI.
--
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
security settings for the Cache directory.
I can see my client hitting the server in the Cache directory creating the
ExplorerFrameSet, ListView, soapid.txt, time.txt, TreeView. I am not
getting back a report. Please advise.
programmer who was not able to get it going. My client bought two copies of
RBServer and two additional server licenses and is not seeing what they
wanted to see. This is becoming very frustrating. Please assist in making
it possible for use to simply see a report in a browser from the machine on
the other side of the desk!
I am using Windows XP Professional Service Pack 1 on both the host and
browser machine. I am using MS IIS 5.1 I am programming in Delphi 7 Ent.
and using Report Server 7.04. The Browser is Internet Explorer 6.01.
Below is an export of my users. I have both IUSR_LARRYK and IWAM_LARRYK
added to my Cache directorry with Full right checked. But I am still unable
to return a report to another computer in the domain. I see what appears to
be a frame and nothing else.
I have checked the WebTier configuration setting for CacheDirectory,
WebCachePath,
and WebModuleURI. Below is a copy of the DFM.
object WebModule1: TWebModule1
OldCreateOrder = False
Actions = <
item
Default = True
Name = 'WebActionItem1'
OnAction = WebModule1WebActionItem1Action
end>
Left = 798
Top = 441
Height = 150
Width = 215
object rsWebTier1: TrsWebTier
CacheDirectory = 'C:\ReportBuilderServerTutorial\07.WebTier\Cache\'
GarbageCollection.MinSleep = 60
GarbageCollection.SeparateThread = True
IniSettings.Enabled = False
IniSettings.FileName = '($Application)\rbWebTier.ini'
LogSettings.Format = 'XMLFile'
LogSettings.Location = '($Application)\LogFiles'
LogSettings.Verbose = False
ServerConnection.Address = 'localhost'
ServerConnection.Port = 1333
ServerConnection.TimeOut = 60
ServerFarmSettings.LoadBalancer = 'Round Robin'
SessionOptions.MaxReportCount = 0
SessionOptions.MaxSessionCount = 0
SessionOptions.SessionTimeout = 300
ViewerSettings.IncludeOutline = True
ViewerSettings.ToolbarOptions = [tbPrint, tbExplore, tbSearch, tbZoom,
tbRefresh]
ViewerSettings.ZoomPercentage = 70
WebCachePath = 'http://localhost/myWebTier/Cache/'
WebModuleURI = 'http://localhost/myWebTier/myWebTier.dll'
Left = 96
Top = 32
end
end
Name Full Name Description
Administrator Built-in account for administering the computer/domain
ASPNET ASP.NET Machine Account Account used for running the ASP.NET worker
process (aspnet_wp.exe)
Guest Built-in account for guest access to the computer/domain
HelpAssistant Remote Desktop Help Assistant Account Account for Providing
Remote Assistance
IUSR_LARRYK Internet Guest Account Built-in account for anonymous access to
Internet Information Services
IWAM_LARRYK Launch IIS Process Account Built-in account for Internet
Information Services to start out of process applications
Larry, sorry if you are frustrated. Sounds like you are very close to having
a fully functional WebTier.
I am assuming that you have an empty frameset displayed in the web browser
and that the ListView and TreeView html pages are generated correctly to the
cache directory.
Therefore the WebTier is correctly returning the Explorer frameset to the
web browser. The Explorer framset contains web links (i.e. URLS) that load
the TreeView and ListView html pages (i.e. frames) into the Explorer
frameset.
Since the TreeView and ListView html pages are being generated to the cache
directory, we can assume that the WebTier is able to write to the cache.
Therefore the two most likely causes of the TreeView and ListView not
appearing in the web browser are
1. The Explorer frameset that is generated by the WebTier contains an
invlalid URL to the TreeView and ListView html pages. Use the web browser
to perform a Viewer | Source on framset page and check the URL's specified
for the TreeView and ListView html pages. Copy the each of the URL's to your
clipboard and past to the address bar of the browser to test whether they
are valid.
If the URL's to the TreeView and ListView are not valid, then modify the
WebTier setting for WebCachePath
2. The IUSR_MachineName user account does not have appropriate access to the
web cache directories. See the article below.
----------------------------------------
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.
--
Nard Moseley
Digital Metaphors Corporation
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Mr. Mosely,
I have done all that is below. I read that same recommend in the NewsGroup
several times over and have complied.
I have attached the source output from the server. As stated in E-mail,
this is reaching a critical point where we may not go with Report Server nor
have our vendors purchase server licenses. I need to get this resolved. A
personal E-mail was sent with all the specifics in hope that you can assist
us in simply making the tutorial function as published.
Larry
Please zip up your WebTier project and zip up the Cache Directory, including
all of its subdirectories and files and send them to
support@digital-metaphors.com.
For future reference, please send attachments to
support@digital-metaphors.com in zip format. It is against the newsgroup
guidelines to post attachements. I did look at the attachments that you
posted. However they are not helpful.
--
Nard Moseley
Digital Metaphors Corporation
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
For anyone following this thread, Larry now has the WebTier working
properly!
The problem was the WebTier configuration settings for WebCachePath and
WebModuleURI. Here is example, taken from the online help, of what these
should look like.
CacheDirectory := 'c:\rbWebPub\Cache';
WebCachePath := 'http://www.myCompany.com/rbWebPub/Cache';
WebModuleURI := 'http://www.myCompany.com/rbWebPub/myReport.dll';
--
Nard Moseley
Digital Metaphors Corporation
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
It is not my position to argue but some clarification should be made that
these URLs are "as seen from the browser". I fully understood ISAPI before
ever installing ReportServer, dating back to ESRI's MapObjects in the mid
90's and I must admit that ReportServer has relieved me of over 1000 lines
of code but it I was under the impression that the values in Cache URL and
URI were relative to the server. The fact that a previous programmer of our
company that you dealt with personally was not able to get this working for
exactly the same mis-interpretation would lead one to beleive that more
illumination is necessary in the documentation.
I am now well into setting of our first two cutomers with a Web Based report
server to accompany our system and intend to make this an integrated feature
for all new releases.
I apologize if I sounded terse but I had people waiting for results and were
(are) becoming very impatient after replacing a coder with a second one and
not getting better results. I'll echo as I explained in my personnel E-mail
that it was only after interrogating the failed ISAPI request for the cache
contents that the issue became obvious.
Larry
Thanks for the feedback, it is appreciated...
We'll look at adding some clarifications for the next release.
--
Nard Moseley
Digital Metaphors Corporation
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com