Reputation: 51
I have created a 32Bit RAD Server application and I wanted to host it in my local IIS Server. I followed the steps mentioned in here But when I try to call a webservice say http://localhost:8080/emsserver/EMSServer.dll/version I get the following error :
{"error":"Forbidden","description":"EMS license not found. To resolve this issue, install an instance of Interbase with an EMS license and configure emsserver.ini to connect to the licensed instance."}
What could have gone wrong here ?
Is there again another instance of interbase has to be installed ? I had installed the interbase along with the RAD Studio 10.2 set up. The error message also suggests to configure emsserver.ini. What configuration change does it require ?
My Development environment is :RAD Studio 10.2 Enterprise on Win 10 64bit machine. The InterbaseManager is 64-bit. The IBConsole shows Version Interbase 2017 Version 13.0.0.195.
Can someone help me to get this resolved ? Thanks in advance.
Upvotes: 1
Views: 1671
Reputation: 11
As noted here, for a RAD Server production environment, you cannot use your license for the RAD Studio IDE nor a "normal" InterBase license. Instead, to be able to run RAD Server in production on either IIS or Apache, you must install a RAD Server deployment license into InterBase. Contact Embarcadero directly (or go through your local Embarcadero sales representative) to request your RAD Server deployment license — as of 10.2 Tokyo edition, it is now included at no additional charge for RAD Studio Enterprise or Architect licensees.
Procedurally, depending on your hosting environment, you will add your RAD Server deployment license to InterBase via its License Manager on Windows or via the command line on Linux: /opt/interbase/bin/LicenseManagerLauncher -i Console
as discussed here. This presumes you have previously installed InterBase centrally to serve Identity and Access Management (IAM) purposes as well as to record resource data analytics by endpoint (built-in features of RAD Server's RESTful web application framework).
Most importantly, per your question, you must configure each RAD Server instance — via its associated configuration file (EMSSERVER.INI) — to look to this central/common IAM + data analytics database (aka, the "RAD Server Database") hosted in InterBase.
By default, the RAD Server Database is defined within the InterBase file "emsserver.ib" which serves to persist the devices, users, groups and data analytics for all connected RAD Server instances. In turn, the connection parameters required by each RAD Server instance are stored under the [Data] section of the associated EMSSERVER.INI configuration file as detailed hereunder:
[Data]
InstanceName=192.168.0.127/3050
Database=/etc/ems/emsserver.ib
UserName=sysdba
Password=masterkey
SEPassword=
;# SEPassword connects to an encrypted database
Pooled=
;# Set Pooled=0 to disable connection pooled, Pooled=1 to enable (default is 1).
PooledMax=
;# Set PooledMax=10 to limit maximum pooled connection (default is 50).
As exemplified above, the [Data] section within EMSSERVER.INI defines the connection parameters to the central RAD Server Database (powered by InterBase). The connection parameters needed to get started are:
InstanceName: The <IP_Address|Hostname>/<Port_Number>
of the InterBase instance hosting the RAD Server Database.
NOTE: Multiple RAD Server instances (i.e., multiple physical installations on separate machines or docker containers as discussed here) can all use the same remote RAD Server Database backend (powered by InterBase) via this InstanceName setting.
Database: The database file (or its alias) served by the InterBase-powered InstanceName pointed to above. On the Windows OS, the default setting for Database is: C:\Users\Public\Documents\Embarcadero\EMS\emsserver.ib
. On Linux, the default setting is: /usr/lib/ems/emsserver.ib
UserName and Password represent credentials for the RAD Server instance connecting to the InterBase-powered RAD Server Database (by default, respectively: sysdba
and masterkey
).
Moving on from there, the SEPassword parameter is used for connecting to an encrypted database. Going further, connection pooling (enabled {=1
} by default in the absence of a value) may be explicitly set using the Pooled=1
|0
. Next, the maximum number of pooled connections from this RAD Server instance to the central/common RAD Server Database is determined by the PooledMax setting (which, otherwise, defaults to 50
).
Finally, further information concerning development and deployment of web applications using RAD Server can be found in David I's Complete Guide to Embarcadero RAD Server.
Upvotes: 1