RB Server 17.02 Delphi Berlin
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 127.0.0.1:1333 but nothing happens
for about 2 minutes and then the following is displayed
XML Parser Error, Line 0: Start tag not found, expected
"<"</FaultString>
Any idea?
TIA, Paul
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 127.0.0.1:1333 but nothing happens
for about 2 minutes and then the following is displayed
XML Parser Error, Line 0: Start tag not found, expected
"<"</FaultString>
Any idea?
TIA, Paul
This discussion has been closed.
Comments
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
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
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.
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 ?
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
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
application'
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
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
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
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Creating_Web_Broker_Applications
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
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
IIS.
MyProjectGroup
myISAPI project --> deploy to IIS
myWebModule
myStandAlone project --> use for debugging
myWebModule
I updated the relevant WebTier demos to use the stand-alone project type
rather than the old web debugger. Use this link to download...
www.digital-metaphors.com/tips/Demos_WebTier.zip
Best regards,
-
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
I'm afraid I can't get the webtier demo to work. The
ExplorerFrameSet.htm loads with both frames showing Error 404, Page not
found.
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?
Paul
Note: if I change the TWebModule1.WebModule1WebActionItem1Action code to:
begin
{ Response.Content := rsWebTier1.ProcessWebRequest(Request.QueryFields,
Request.Content);}
Response.Content :=
'' +
'Web Server Application' +
'Web Server Application' +
'';
end;
...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
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
http://localhost/rbWebPub/Cache/{8FAB3F1E-D25B-4C27-A7A0-3821B63D3A9C}/TreeView.htm
http://localhost/rbWebPub/Cache/{8FAB3F1E-D25B-4C27-A7A0-3821B63D3A9C}/ListView.htm
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
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com