CodeFirst and Client-Side interfaces - Generates only one interface file


(RemObjects) #25

bugs://81427 got closed with status fixed.

(Smokoveck Florencio) #26


Please, when will this feature be available and in which version?



(marc hoffman) #27

This should be in the next beta drop, probably later this week.

(Smokoveck Florencio) #28

hello happy new year 2019 !!!

Please, any preview for release of this review?

Best regards,


(EvgenyK) #29

this feature should be available in beta already.


  • for RODL-based version, add ROServiceGroups custom attribute, like:
<ROServiceGroups Value="group1,group2" />
  • for Code-First version, add ROServiceGroup attriibute:
  TNewService1 = class(TRORemotable)

(Smokoveck Florencio) #31

OK. Thank you so much, I’ll test.

(Smokoveck Florencio) #32

Please, can you send the link of the download version?

(EvgenyK) #33

you can download it from .
select Beta Downloads under RO or DA

(Smokoveck Florencio) #34

I also need the declaration of the complex types (Struct Name) used in the parameters of the methods of each service.

Is it possible through the service name to retrieve all types used in the parameters of the methods of a service?

(EvgenyK) #35

Current implementation of this feature requires this attribute for all objects.

but it is possible to add all used structs/arrays/enums in the parameters of the methods of a service to such request.

(Smokoveck Florencio) #36

Got it. Please, can you add this feature? would help me a lot.


(EvgenyK) #37


(RemObjects) #38

Thanks, logged as bugs://81715

(RemObjects) #39

bugs://81715 got closed with status fixed.

(Smokoveck Florencio) #40


It worked! but, would not it be possible to create a program to generate all automatically, generating separate files? like RODL2Intf.exe ?? passing as servicename parameter?

Best Regards,


(EvgenyK) #41

have you tried rodl2code.exe?
it accepts URL or .remoteRODL as parameter

(Smokoveck Florencio) #42

I have the following error

Processing RODL file http: // localhost: 8099
There was a problem loading the RODL.

RemObjects.Elements.RTL.XmlException: Unexpected token. Whitespace is expected but TagClose found at 1/62

in RemObjects.Elements.RTL.XmlDocument.FromString (String aString)
in RemObjects.Elements.RTL.HttpResponse.GetContentAsXmlSynchronous ()
in RemObjects.SDK.CodeGen4.RodlLibrary.LoadFromUrl (String aUrl)
in RemObjects.SDK.CodeGen4.RodlLibrary..ctor (String aFilename)
in RemObjects.SDK.CodeGen4 .__ Global.Main (String [] __args)

I’m using the command line:

:> rodl2code “http://localhost:8099” --type:intf --platform:delphi --language:delphi --outpath:“c:\workspace\trunk\EquipMaint\EQMSERVER\EQMSERVER01\LOGIN” --namespace:LOGIN --codefirst-compatible

(EvgenyK) #43

hmm, this one works for me w/o problems:

rodl2code "http://localhost:8099" --type:intf --platform:delphi --language:delphi --outpath:"y:\12" --namespace:LOGIN --codefirst-compatible
Remoting SDK Service Interface Code Generator, based on CodeGen4 (

Processing RODL file http://localhost:8099
Generating intf
Wrote file y:\12\MegaDemoLibrary_Intf.pas

try to specify url with /rodl like http://localhost:8099/rodl

if it won’t work too, can you send your .RODL to support@ for investigation, pls

(marc hoffman) #44

sure that http://localhost:8099/ serves your rodl, and not the info page?

(Smokoveck Florencio) #45

yeah! with http: //localhost:8099/rodl’ worked!

But it generated a single _intf file with all the services, even though I had specified the namespace = LOGIN.

I need to generate a file with only one service, for example, LOGIN_Intf. In the case, I think I would need to make the same change that was made to display in browse with url (http://localhost:8099/rodl?servicegroup=LOGIN) only the service.