Home Server

ISAPI tutorial (#7), Page 53

edited July 2004 in Server
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.

Comments

  • edited July 2004
    Okay,
    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.


  • edited July 2004

    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
  • edited July 2004
    I don't know if you will accept attachments but here is a capture of my
    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.



  • edited July 2004
    I need to get this server Serving a report. I was brought in to relieve the
    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



  • edited July 2004

    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
  • edited July 2004


    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

  • edited July 2004

    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
  • edited July 2004

    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
  • edited July 2004
    Nard,
    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


  • edited July 2004

    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
This discussion has been closed.