Can the current version (10.0.0.1559) create Java client from RODL?

Hello,
Has RO lost the ability to generate Java client code from RODL files? I’ve tried RODL2Code (CodeGen4) and that doesn’t seem to support it. CodeGen2 also doesn’t seem to support it?

Regards,
Will.

Hi,

have you specified type, platform & language parameters?

it works as expected:

Y:\111>"C:\Program Files (x86)\RemObjects Software\RemObjects SDK (Common)\Bin\rodl2code.exe" Y:\111\MegaDemoLibrary.rodl --type:intf --platform:java --language:java
Remoting SDK Service Interface Code Generator, based on CodeGen4 (https://github.com/remobjects/codegen4)

Processing RODL file Y:\111\MegaDemoLibrary.rodl
Generating intf
Wrote file Y:\111\Defines_YourNamespace.java
Wrote file Y:\111\ETestException.java
Wrote file Y:\111\IMegaDemoService.java
Wrote file Y:\111\IMegaDemoService_Async.java
Wrote file Y:\111\MegaDemoService_AsyncProxy.java
Wrote file Y:\111\MegaDemoService_Proxy.java
Wrote file Y:\111\TIntegerArray.java
Wrote file Y:\111\TPerson.java
Wrote file Y:\111\TPersonArray.java
Wrote file Y:\111\TSex.java
Wrote file Y:\111\TStringArray.java

Hi Evgeny,
Yes I’ve tried that command and all I get is a single defines file. I think this has to do with nested/used rodl files. I find that if I process each used rodl separately, I get the expected results but using a URL to download the rodl from the server leads to just a single Defines file.

I’ve attached the RODL saved from my running server. Is there a way to get this to import in one go?

fromServer.rodl (6.8 KB)

Regards,
Will.

Hi,

you have broken .RODL file.

if you launch Service Builder and use Tools->Check Library for Problems, it will show errors:

at least 2 errors are critical: Invalid ancestor type.

once you fix errors, .java files will be generated w/o issues

@EvgenyK maybe rodl2code should run the validator too?

@mh validator is a part of Service Builder.

CG4 and rodl2code haven’t it

Oh, I hadn’t tried that on the server downloaded RODL. It is totally mangled. Doing the same on the RODL associated with the project gives a very different result. I’ll attach the starting RODL files. The server must be mangling this in some way.

CallsysTypesLib.rodl (3.2 KB)
ClientWebPortalLib.rodl (3.6 KB)
ClientWebServiceLib.rodl (420 Bytes)

Hi,

I’ll review what is wrong.

for now, you can generate java files via passing all 3 RODLs to rodl2code like

@set rodl2code="C:\Program Files (x86)\RemObjects Software\RemObjects SDK (Common)\Bin\rodl2code.exe"
%rodl2code%  .\CallsysTypesLib.rodl --type:intf --platform:java --language:java 
%rodl2code%  .\ClientWebPortalLib.rodl --type:intf --platform:java --language:java 
%rodl2code%  .\ClientWebServiceLib.rodl --type:intf --platform:java --language:java 

java.zip (18.0 KB)

Hi,

rodl2code will generate all set of files from next public build for this command

%rodl2code% .\ClientWebServiceLib.rodl --type:intf --platform:java --language:java