Invk file for inherited services. Issue, proposed solution and question

Suppose to a default (the one with ‘GetServerTime and Sum’ RODL I add a NewServiceChild that inherits from NewService.

Issue
If I call from a ClientSide (using SOAP), the NewServiceChild.Sum(1,2) I get the following response (copied only the relevant part):

<v1:NewService___SumResponse><v1:Result>83360308</v1:Result></v1:NewService___SumResponse>

However, since I called the NewServiceChild service I would expect this part to be:

 <v1:NewServiceChild___SumResponse><v1:Result>83360308</v1:Result></v1:NewServiceChild___SumResponse>

Proposed solution
I can achieve this by a change in the NewLibrary_Invk.pas that is the result of the following change in uRODLToPascalInvk.pas (from line 510 in version 9.3.105.1351):

 WriteEmptyLine;
(*    if anOperation.Info.Attributes.Values['OutputMessageName'] <> '' then
    Write(Format('    __Message.InitializeResponseMessage(__Transport, ''%s'', ''%s'', ''%s'');',[aLibrary.Name, aService.Name, anOperation.Info.Attributes.Values['OutputMessageName']]))
  else *)

//  Write(Format('    __Message.InitializeResponseMessage(__Transport, ''%s'', ''%s'', ''%sResponse'');',[aLibrary.Name, aService.Name, anOperation.Name])); //Original version
   Write(Format('    __Message.InitializeResponseMessage(__Transport, ''%s'', __Message.InterfaceName, ''%sResponse'');',[aLibrary.Name, anOperation.Name])); //updated version

Question
Even after re-installing all packages (especially the RemObjects_Server_IDE_D25), the IDE will recreate the original Invk file, neglecting the change that I mad in uROPascalInvk.

Is there a way that I could use my proposed patch for the ‘IDE version that recreates the _Invk files?’. Furthermore, I do hope that you will use my proposed solution in each next version of the SDK.

Thanks, logged as bugs://79295

bugs://79295 got closed with status fixed.

Nowadays we use CodeGen4 instead of Codegen1 shipped with Delphi. Those files (uRODLToPascal*.pas) are used only in Lazarus/Non-Windows configurations. I’ll remove them from Delphi IDE packages later.

Thanks,

If the Codegen1 is really obsolete it might be a good idea to remove uROLDToPascal*.pas files. But if they are still producing valid code, it might be useful to provide them. A user can modify the code and call the convrsion routine manually.

This is they way I use a work-around for the ‘bug’ mentioned above.

Thanks for logging and fixing this bug!

as a temporary workaround, you can update _Invk manually and disable autogeneration of _Intf and _Invk via replacing

{#ROGEN:MegaDemoLibrary.rodl} // RemObjects: Careful, do not remove!

with

{#.ROGEN:MegaDemoLibrary.rodl} // RemObjects: Careful, do not remove!

fyi: we have released beta, it contains fix for this issue.