delphidelphi-11-alexandriarad-server

What is the URL to access a RAD Server custom module on IIS?


I've a RAD Server module that runs very well through Embarcadero's standalone EMSDevServer.exe, and I want to try now a production environment to run it under Internet Information Server.

I've followed their tutorial to setup the environment, and now I have IIS & RAD Server running correctly.

When I check the server it responds correctly.

GET http://localhost:8080/emsserver/EMSServer.dll/version

{
    "version": "4.5",
    "server": "RAD Server"
}

I add our custom module to the same folder, and register it in the emsserver.ini as the documentation says:

[Server.Packages]
C:\inetpub\RADServer\emsserver\server.bpl=agility

But now I don't know what is the URL to access this module. The tutorial finishes here. I've tried several random URL formats with no luck, like these ones:

GET http://localhost:8080/emsserver/EMSServer.dll/agility/product
GET http://localhost:8080/emsserver/EMSServer.dll/server.bpl/product
GET http://localhost:8080/emsserver/server.bpl/product

What are the rules to build this URL ?.

By the way, the RAD Server responds correctly to http://localhost:8080/emsserver/EMSServer.dll/version, but what is the URL to open the console ?

I try these ones, and although it doesn't raise any error, I only get a blank page as response.

http://localhost:8080/emsserver/EMSConsole.dll
http://localhost:8080/emsserver/EMSConsole.dll/login
http://localhost:8080/emsserver/EMSConsole.dll/#login

Solution

  • Turns out simpler than I thought. You don't have to provide any prefix for your custom modules, their endpoints are already available at the root of the URL.

    To access the "product" endpoint on the "server.bpl" custom module, you use this URL:

    GET http://localhost:8080/emsserver/EMSServer.dll/product
    

    I wonder what it's going to happen if you have two custom modules with conflicting endpoints on them, but that would be a problem for another day.