New Blog Post: RESTful Reporting

RB Server 17.02 Delphi Berlin

edited June 2016 in Server
I've just opened the C:\Users\Public\Documents\RBServer\Delphi 10.1
Berlin\Demos\Servers\01. Main project and compiled it. If I try and run
under Delphi I get the error

First chance exception at $7639DAE8. Exception class
EOleRegistrationError with message 'Error creating system registry
entry'. Process rbServer.exe (4532)

Googling tells me this is probably an access rights issue, so I run the
exe (outside of delphi) asAdmin.
This starts OK. I point my browser at but nothing happens
for about 2 minutes and then the following is displayed

XML Parser Error, Line 0: Start tag not found, expected

Any idea?

TIA, Paul


  • edited June 2016
    Hi Tom,

    RB Server is a multi-tier solution.

    To publish reports to the web you need the server and webtier. The report
    server typically runs as a Windows Service. The WebTier is typically
    deployed to an IIS web server.

    report server ---> web tier ----> web browser

    - best place to start is with the client report, and then move to the web
    tier next.

    report server --> client report explorer / client report

    - first time you run the report server, it registers a COM interface with
    the registry. This enables the included Windows Service, called
    ReportBuilder Services, to host the report server within the context of a
    windows service (see RB Server Developers Guide).

    - when testing a server, get the client report explorer / client report
    working first. Then proceed to the web tier.

    The RB Server Developers Guide has details on the above, including
    tutorials. rbWiki has details on deploying the web tier to IIS 6 and IIS 7

    Best regards,

    Nard Moseley
    Digital Metaphors

    Best regards,

    Nard Moseley
    Digital Metaphors
  • edited June 2016
    Ah !!

    Our misunderstanding.
    We assumed that the IIS part was optional and without it the RB server
    handled the web tier too, so that there was just the one service and the
    end use didn't have to faff around with web servers etc.

  • edited June 2016
    We're getting there now :)

    Though I noticed that both the WebDebug & Custom Parameters demos
    require ComApp unit, which seems to be Delphi Enterprise only. Will not
    having delphi enterprise (we're just professional) lead to any dead ends
    or unusable features ?
  • edited June 2016
    On 14/06/2016 17:55, David wrote:

    I think what David (who just doing some background research for me
    before I get stuck into this work) means is does the entire Webtier bit
    of RB Server implementation require Delphi Enterprise Edition? I notice
    that all the demo projects initialize with
    TWebAppAutoObjectFactory.Create() - is this a linchpin class?

    TIA, Paul
  • edited June 2016
    Hi Paul,

    In researching this, looks like the latest Delphi versions no longer support
    the web debugger.

    I'll have to convert the WebTier demos to use the newer 'stand-alone

    WebBroker has fluctuated and evolved a bit over the years. There is a now an
    option to create a 'stand-alone application' which implements a web server
    that hosts the web module(s).

    Best regards,

    Nard Moseley
    Digital Metaphors

    Best regards,

    Nard Moseley
    Digital Metaphors
  • edited June 2016
    On 16/06/2016 23:16, Nard Moseley (Digital Metaphors) wrote:

    I'm afraid this is all going over our head's, Nard :)

    We are "rich client" (win32) / database experts. Do a little bit of web
    stuff on a "needs must" basis; but essentially, we are struggling a bit
    to get our heads around how to implement RB Server.

    If I look at
    then are you talking about the first entry in that table? But I thought
    RB Server implementation normally hooked the web tier into a web server
    like IIS?

    And what role, apart from the obvious bit implemented by the name, do
    "web debugger" have in all this?

    Sorry if we're being a little obtuse :)

  • edited June 2016
    Hi Paul,

    The RB WebTier is deployed to IIS as an ISAPI DLL (option 3) on the docwiki
    link you specified.

    The Stand-alone application (option 1) is useful if you want to use the
    Delphi debugger during development. To use the WebTier 'as is' you won't
    need the debugger, but it can useful if you're implementing custom code,
    such as the WebTier demos for Custom Viewer and Custom Parameters.

    In practice, you may want to create a Delphi Project Group comprised of an
    ISAPI project and a stand-alone project. Each project would contain the same
    WebModule w/WebTier. Use one for debugging and the other for deployment to

    myISAPI project --> deploy to IIS
    myStandAlone project --> use for debugging

    I updated the relevant WebTier demos to use the stand-alone project type
    rather than the old web debugger. Use this link to download...

    Best regards,

    Nard Moseley
    Digital Metaphors

    Best regards,

    Nard Moseley
    Digital Metaphors
  • edited October 2016
    On 20/06/2016 22:34, Nard Moseley (Digital Metaphors) wrote:

    I'm afraid I can't get the webtier demo to work. The
    ExplorerFrameSet.htm loads with both frames showing Error 404, Page not

    I've compiled a "reports in a database" desktop rbServer.exe and this is
    working fine because if I run a Report Explorer demo client app it
    connects to this server and lists all the reports. But no joy when
    connecting from a web tier. The WebCachePath is
    http://localhost/rbWebPub/Cache/ while the WebModuleURI is
    http://localhost:8080. I've set the "CacheDirectory" to various paths
    and the subfolders and files for it are always autocreated and the htm
    files seem to have all the correct content. But still always Error 404.

    Any ideas?

  • edited October 2016
    On 03/10/2016 18:04, Paul Toms wrote:

    Note: if I change the TWebModule1.WebModule1WebActionItem1Action code to:

    { Response.Content := rsWebTier1.ProcessWebRequest(Request.QueryFields,

    Response.Content :=
    '' +
    'Web Server Application' +
    'Web Server Application' +

    ...then the web server in the demo is working just fine, so is
    Request.QueryFields, Request.Content being empty that I think is the
    issue. I think be something to do with the WebCachePath but this
    property makes no sense to me at all if I read the help and all the
    additional documentation. In a standalone webserver app and can't see
    how the WebCachePath relates to CacheDirectory, and in the absence of
    any source code I'm completely lost here. Have burnt hours and hours on
    this :(
  • edited October 2016
    Hi Paul,

    I emailed you some screen shots.

    The Indy web server runs on port 8080 and enables you to debug the WebTier

    The machine's local IIS server runs on standard port 80 and needs to be
    configured to retrieve files and images from the web cache.

    So for example, perform a view page source from your web browser, the Report
    Explorer html source contains references to treeview.htm and listview.htm
    like this



    You're getting 404 not found because either your IIS server is not running
    or it does not a virtual directory configured for rbWebPub.

    Best regards,

    Nard Moseley
    Digital Metaphors

    Best regards,

    Nard Moseley
    Digital Metaphors
This discussion has been closed.